python 学习笔记 五 字典

1,昨日内容回顾及作业讲解
列表:增 append insert extend
删 remove pop clear del
改 li[索引] = '被修改的内容' li[切片]:'被修改的内容'
查 for循环
range
元祖:
count()
len()
li.index('元素')
sort(reverse = True)
li.sort()
print(li.sort())
reverse()反转
ps:
join: list ----->str
S.join(iterable)
li = [1,2,3]
s1 = str(li)
split str---->list

作业讲解:
 1 lis = [2,3,'k',['qwe',20,['k',['tt',3,'1']],89],'ab','adv']
 2 '''
 3 # 1)将列表lis中的’tt’变成大写(用两种方式)。
 4 # lis[3][2][1][0] = "TT"
 5 # print(lis)
 6 # lis[3][2][1][0] = lis[3][2][1][0].upper()
 7 # print(lis2)
 8 # 2)将列表中的数字3变成字符串’100’(用两种方式)。
 9 # lis[1] = '100'
10 # lis[3][2][1][1] = '100'
11 # print(lis)
12 # lis[3][2][1].remove(3)
13 # lis[3][2][1].insert(1,'100')
14 # print(lis)
15 '''
16 # 3)将列表中的字符串’1’变成数字101(用两种方式)
17 # lis[3][2][1][2] = 101
18 # print(lis)
19 # lis[3][2][1][2] = int(lis[3][2][1][2].replace('1','101'))
20 # print(lis)
21 # print(lis[3][2][1][2])  # '1'
22 # lis[3][2][1][2] = int('10'+lis[3][2][1][2])
23 # lis[3][2][1][2] = int(lis[3][2][1][2]) + 100
24 # li = [1,2,3]
25 # li[2] = 33
26 # print(li)
27 # 5,查找列表li中的元素,移除每个元素的空格,
28 # 并找出以’A’或者’a’开头,并以’c’结尾的所有元素,
29 # 并添加到一个新列表中,最后循环打印这个新列表。
30 # li = [‘taibai ’,’alexC’,’AbC ’,’egon’,’ Ritian’,’ Wusir’,’  aqc’]
31 li = ['taibai ','alexC','AbC ','egon',' Ritian',' Wusir','  aqc']
32 b=[]
33 # for i in li:
34 #     s=i.strip()
35 #     if (s.startswith("A")or s.startswith("a"))and s.endswith("c"):
36 #         b.append(s)
37 # for x in b:
38 #     print(x)
39 
40 # for i in li:
41 #     s=i.strip()
42 #     if s[0].upper() == 'A' and s[-1] == 'c':
43 #         b.append(s)
44 # for x in b:
45 #     print(x)
46 # 6、开发敏感词语过滤程序,提示用户输入评论内容,如果用户输入的内容中包含特殊的字符:
47 # 敏感词列表 li = ["苍老师","东京热",”武藤兰”,”波多野结衣”]
48 # 则将用户输入的内容中的敏感词汇替换成***,并添加到一个列表中;
49 # 如果用户输入的内容没有敏感词汇,则直接添加到上述的列表中。
50 
51 # li=["苍老师","东京热","武藤兰","波多野结衣"]
52 # new_li= []
53 # info = input("评论")  # 苍老师,东京热 法律框架第三
54 # for i in li:
55 #     if i in info:
56 #         l = len(i)
57 #         info=info.replace(i,'*'*l)
58 # new_li.append(info)
59 # print(new_li)
作业

2,字典
数据类型划分:可变数据类型,不可变数据类型
不可变数据类型:元组,bool int str 可哈希
可变数据类型:list,dict set 不可哈希
dict key 必须是不可变数据类型,可哈希,
value:任意数据类型。
dict 优点:二分查找去查询
存储大量的关系型数据
特点:无序的

3,字典的增删改查
# dic = {
#     'name':['大猛','小孟'],
#     'py9':[{'num':71,'avg_age':18,},
#            {'num': 71, 'avg_age': 18, },
#            {'num': 71, 'avg_age': 18, },
#            ],
#     True:1,
#     (1,2,3):'wuyiyi',
#     2:'二哥',
# }
# print(dic)

dic1 = {'age':18,'name':'jin','sex':'male'}
  #
# dic1['high'] = 185  #没有键值对,添加进去
# dic1['age'] = 21  #如果有键,则值更新进去

  # setdefault  有键值对不做任何改变,没有才添加进去
# dic1.setdefault('weight')
# dic1.setdefault('weight',150)
# dic1.setdefault('name','taibai')
# print(dic1)

  #
# print(dic1.pop('age'))  #有返回值 ,按键去删除
# print(dic1.pop('pa',None))  #可设置返回值
# print(dic1)

# print(dic1.popitem())  #随机删除,有返回值,元组里面是删除的键值
# print(dic1)

# del dic1['name']  #如果删除的键没有,会报错
# print(dic1)
# del dic1
# print(dic1)

# dic1.clear()  #清空字典
# print(dic1)

# 改  update
# dic1['age'] = 21 #这个也可以是更改

# update
# dic = {'name':'jin','age':18,'sex':'male'}
# dic2 = {'name':'alex','weight':75}
# dic2.update(dic)
# print(dic)
# print(dic2)

#
# print(dic1.keys(),type(dic1.keys()))
# print(dic1.values())
# print(dic1.items())
"""
for i in dic1:
    print(i)
for i in dic1.keys():
    print(i)
for i in dic1.values():
    print(i)
"""
# a,b = ['1','2']
# print(a,b)
# a,b = {'汪峰':'北京北京','王菲':'天后'}
# print(a,b)

# a = 1
# b = 2
# a,b = b,a  #值对换
# print(a,b)
# a,b = [1,2],[2,3]
# a,b = (1,2)
# print(a,b)

# for k,v in dic1.items():
#     print(k,v)

# 取值  get
# v1 = dic1['name']
# print(v1)
# v2 = dic1['name1']  #没有这个值会报错

# print(dic1.get('name1',None)) #没有这个值默认返回None,也可返回设定的值
字典的增删改查
4,字典的嵌套
dic = {
    'name':['alex','wusir','taibai'],
    'py9':{
        'time':'1213',
        'learn_money':'19800',
        'addr':'CBD',
    },
    'age':21,
}

# dic['age'] = 56
# print(dic['name'])
# dic['name'].append('ritian')
# dic['name'][1] = dic['name'][1].upper()
# print(dic)

# female : 6
# dic['py9']['female'] = 6
# print(dic)

# fhdklah123rfdj12fdjsl3    '       123     12    13'
info = input('>>>').strip()
for i in info:
    if i.isalpha():
        info = info.replace(i," ")
l = info.split()
print(len(l))
字典的嵌套

 

posted @ 2019-07-09 14:28  休由  阅读(188)  评论(0)    收藏  举报