字典的创建方式:
dic={'name':'cindy','age':24,'hobby':'girls','is_handsome':True} #格式{‘键’:‘值’,'键':数字,.........}
print(dic)
print (dic['name'])
不常用的两种创建字典的方法
# a=list((1,2,3,4))
# print(a)
# dic2=dict((('name','cindy'),))
# print(dic2)
增
1 dic1={'name':'cindy'}
2 dic1['age']=24 #在dic1中添加age键 然后赋值为24
3 print (dic1)
4
5 dic1.setdefault('hobby','girl') #在dic1中 若setdefault函数中参数键存在 则不予理会 若没有则添加 并返回相应的字典的值
6 print(dic1)
7
8 red=dic1.setdefault('hobby','girl')
9 print(red)
删
1 dic5 = {'name': 'alex', 'age': 18, 'class': 1}
2
3 dic5.clear() # 清空字典
4 print(dic5)
5 del dic5['name'] #删除字典中指定键值对
6 print(dic5)
7
8 print(dic5.pop('age')) #删除字典中指定键值对,并返回该键值对的值
9 ret=dic5.pop('age')
10 print(ret)
11 print(dic5)
12
13 a = dic5.popitem() #随机删除某组键值对,并以元组方式返回值
14 print(a, dic5)
15
16 del dic5 #删除整个字典
改
dic4={'name':'cindy','age':24,'hobby':'girls','is_handsome':True}
dic4['age']=55
print(dic4)
dic5={'1':'111','2':'222','hobby':'333'}
dic4.update(dic5) #将dic4在dic5中没有的键添加进去 如果有相同的键则修改成dic5的键盘
print(dic4)
print(dic5)
查
1 dic3={'name':'cindy','age':24,'hobby':'girls','is_handsome':True}
2 print(dic3['name'])
3 print(dic3.keys()) #keys是所有的键 用字典dic3去调用 可返回所有的键 返回值的类型是'dict_keys'(这个不用管)
4 print(dic3.values()) #value是值
5 print(dic3.items()) #item是key和value都取
6 print(list(dic3.items())) #使用list将取出的值展示成列表
还有一些其他用法
1 dic6=dict.fromkeys(['host1','host2','host3'],'test') #分别赋值
2 print(dic6) #{'host3': 'test', 'host1': 'test', 'host2': 'test'}
3
4 dic6['host2']='abc' #键的替换
5 print(dic6)
6
7 dic6=dict.fromkeys(['host1','host2','host3'],['test1','tets2'])
8 print(dic6) #{'host2': ['test1', 'tets2'], 'host3': ['test1', 'tets2'], 'host1': ['test1', 'tets2']}
9
10 dic6['host2'][1]='test3'
11 print(dic6) #{'host3': ['test1', 'test3'], 'host2': ['test1', 'test3'], 'host1': ['test1', 'test3']}
12
13
14
15 av_catalog = {
16 "欧美":{
17 "www.youporn.com": ["很多免费的,世界最大的","质量一般"],
18 "www.pornhub.com": ["很多免费的,也很大","质量比yourporn高点"],
19 "letmedothistoyou.com": ["多是自拍,高质量图片很多","资源不多,更新慢"],
20 "x-art.com":["质量很高,真的很高","全部收费,屌比请绕过"]
21 },
22 "日韩":{
23 "tokyo-hot":["质量怎样不清楚,个人已经不喜欢日韩范了","听说是收费的"]
24 },
25 "大陆":{
26 "1024":["全部免费,真好,好人一生平安","服务器在国外,慢"]
27 }
28 }
29
30 av_catalog['欧美']["www.youporn.com"][1]='高清无码'
31
32
33
34 dic={5:'555',2:'666',4:'444'}
35 print(sorted(dic)) #根据键进行排序
36 print(sorted(dic.items())) #根据键进行排序
37 print(sorted(dic.values()) #根据值进行排序
38
39
40
41
42
43 dic7={'name':'cindy','age':18}
44
45
46 for i in dic7:
47 print(i,dic7[i]) #循环遍历字典的推荐方式 print后面的参数第一个是键值 第二个是值
48
49 for i,v in dic7.items(): #循环遍历字典的另外一种方式 效率更低
50 print(i,v)