字典操作

字典一种key - value 的数据类型,使用就像我们上学用的字典,通过笔划、字母来查对应页的详细内容。

字典的特性:

  • dict是无序的

  • key必须是唯一的,so 天生去重

 

 1 #语法 
 2 info = {
 3     'AAA' : "11111",
 4     'BBB' : "22222",
 5     'CCC' : "33333",
 6     'DDD' : "44444",
 7     'EEE' : "55555"
 8 }
 9 
10 #访问
11 print("---------------------------访问-----------------------------")
12 print(info["AAA"])
13 #输出11111
14 
15 
16 
17 #增加和修改
18 print("---------------------------增加和修改-----------------------------")
19 info['FFF'] = "66666"
20 info['AAA'] = "77777"
21 print(info)
22 #输出{'AAA': '77777', 'BBB': '22222', 'CCC': '33333', 'DDD': '44444', 'EEE': '55555', 'FFF': '66666'}
23 
24 
25 #删除
26 print("---------------------------删除-----------------------------")
27 info.pop("FFF")                  #标准删除姿势
28 del info["EEE"]                  #第二种删除方法
29 info.popitem()                   #随机删除
30 print(info)
31 #输出{'AAA': '77777', 'BBB': '22222', 'CCC': '33333'}
32 
33 #查找
34 print("---------------------------查找-----------------------------")
35 print("AAA" in info )            #输出True    标准用法
36 print(info.get("BBB"))           #输出22222   get获取
37 print(info["AAA"])               #输出77777
38 #print(info["DDD"] )              #报错,如果一个key不存在,就报错,get不会,不存在只返回None
39 
40 
41 
42 #Values
43 print("---------------------------Values-----------------------------")
44 print(info.values())             #输出dict_values(['77777', '22222', '33333'])      以列表返回字典中的所有值
45 
46 
47 #Keys
48 print("---------------------------Keys-----------------------------")
49 print(info.keys())               #输出dict_keys(['AAA', 'BBB', 'CCC'])         以列表返回一个字典所有的键
50 
51 #setdefault
52 print("---------------------------setdefault-----------------------------")
53 info.setdefault("DDD","88888")   #和get()类似, 但如果键不已经存在于字典中,将会添加键并将值设为default
54 print(info.setdefault("AAA","99999"))    #输出77777
55 print(info)                      #输出{'AAA': '77777', 'BBB': '22222', 'CCC': '33333', 'DDD': '88888'}
56 
57 #update
58 print("---------------------------update-----------------------------")
59 info2 = {'a':1,'b':2,'c':3}
60 info.update(info2)               #把括号里的字典info2的键/值对更新到info里
61 print(info)                      #输出{'AAA': '77777', 'BBB': '22222', 'CCC': '33333', 'DDD': '88888', 'a': 1, 'b': 2, 'c': 3}
62 
63 #items
64 print("---------------------------items-----------------------------")
65 print(info.items())              #以列表返回可遍历的(键, 值) 元组数组
66 #输出dict_items([('AAA', '77777'), ('BBB', '22222'), ('CCC', '33333'), ('DDD', '88888'), ('a', 1), ('b', 2), ('c', 3)])
67 
68 print(info2.fromkeys(['d','e','f'],'test'))       #创建一个新字典,以序列seq中元素做字典的键,val为字典所有键对应的初始值
69                                                   # 通过一个列表生成默认dict,有个没办法解释的坑,少用吧这个
70                                                   #输出{'d': 'test', 'e': 'test', 'f': 'test'}

 

多级字典嵌套及操作

 1 av_catalog = {
 2 
 3     "欧美":{
 4         "www.youporn.com": ["很多免费的,世界最大的","质量一般"],
 5         "www.pornhub.com": ["很多免费的,也很大","质量比yourporn高点"],
 6         "letmedothistoyou.com": ["多是自拍,高质量图片很多","资源不多,更新慢"],
 7         "x-art.com":["质量很高,真的很高","全部收费,屌比请绕过"]
 8     },
 9     "日韩":{
10         "tokyo-hot":["质量怎样不清楚,个人已经不喜欢日韩范了","听说是收费的"]
11     },
12     "大陆":{
13         "1024":["全部免费,真好,好人一生平安","服务器在国外,慢"]
14     }
15 }
16 
17 av_catalog["大陆"]["1024"][1] += ",可以用爬虫爬下来"          #在该字符串后添加
18 print(av_catalog["大陆"]["1024"])
19 
20 #values
21 print()

 

 posted on 2018-08-05 15:30  二十二a  阅读(185)  评论(0编辑  收藏  举报