字典相关

1. dict
用大括号{} 括起来. 内部使用key:value的形式来保存数据
{'jay':'周杰伦', "jj":'林俊杰'}
注意:字典的key必须是可哈希的. 不可变的, value 没有限制
不是按照我们保存的顺序保存的, 无序的
2. 增删改查
1. dict[不存在的key] = value, setdefault()
2. pop(key). del dict[key]. popitem(), clear()
3. dict[存在的key] = 新值, d1.update(d2) 把d2的k-v更新到d1中
4. get(key, 默认值), setdefault(), dict[key]
 1 d={'a':56,'b':75,'c':66,'e':66}
 2 
 3 d['c']=34 #添加 如果Key重复,会覆盖value值
 4 print(d)
 5 print(d['c'])
 6 d.setdefault('e',69) # 添加,如果Key存在 不添加
 7 print(d)
 8 d.setdefault('g') # 如果key不存在 自动添加 v值默认为None
 9 print(d)
10 d.pop('c') #删除制定内容 并返回此内容
11 print(d)
12 del d['a'] #删除制定内容 没有返回值
13 print(d)
14 d.popitem() #随机删除
15 print(d)
16 
17 修改
18 d={'a':56,'b':75,'c':66,'e':66}
19 d2={'a':85,"f":64,'k':35}
20 
21 d1['e']='ok'
22 print(d1) #赋值修改
23 
24 d.update(d2)  #串联修改
25 print(d)
26 print(d2)
27 print(d1['c'])
28 
29 a=d1.get('a')
30 print(a)
31 a=d1.get('l','hha ')# 可以通过key来获取value的值. 那么如果key不存在. 返回None.
32 print(a)            # 可以给出一个默认值. 当key不存在的时候返回默认值
33 a=d.setdefault('a')
34 print(a)
35 a=d.setdefault('l')
36 print(a)
37 a=d.setdefault('l',56)# 1. 首先判断原来的字典中有没有这个key . 如果没有. 执行新增
38 print(a)              # 2. 用这个key去字典中查询, 返回查到的结果
View Code

3. 字典的常用方法
1. keys() 返回所有字典的key的集合(高仿列表)
2. values() 返回所有的value的集合
3. items() 返回键值对. 元组
解构:
a, b = (1, 2)
 1 dic = {"及时雨":"宋江", "易大师":"剑圣", "维恩":"暗影猎手"}
 2 print(dic.keys())   # 拿到所有的key, 返回key的集合. 像是列表. 但是不是列表
 3 
 4 for key in dic.keys():  # 可以进行迭代循环
 5     print(key)
 6 
 7 print(dic.values())
 8 for value in dic.values():
 9     print(value)
10 dic = {"及时雨":"宋江", "易大师":"剑圣", "维恩":"暗影猎手"}
11 print(dic.items())  # 拿到键值对
12 # 遍历dict
13 for k, v in dic.items():
14     print(k , v)
15 
16 
17 
18 for k, v in dic.items():
19      # = item # (key, value)
20     # print(item) # (key, value)
21     print(k,v)
22 
23 #解构 . 解包
24 a, b = (1, 2)
25 print(a)
26 print(b)
27 
28 a, b, c = ("马化腾", "马云", "马良")
29 print(b)
30 
31 a, b = [1, 2]
32 print(a, b)
View Code

4. 字典的嵌套和循环
 1 #嵌套
 2 dic = {
 3     "name":"汪峰",
 4     "age": 58,
 5     "wife":{
 6         "name":"国际章",
 7         "salary": 180000,
 8         "age": 37
 9     },
10     "children":[
11         {"name":"老大", "age": 18},
12         {"name":"老二", "age": 118}
13     ]
14 }
15 print(dic["children"][1]["age"])
16 
17 print(dic["wife"]['salary'])
18 #for循环
19 dic = {1: 'a', 2:'b', 3:'c'}
20 for a in dic:   # 直接循环字典.拿到的是key
21 
22     print(a)
23     print(dic[a])
View Code


原文地址:https://www.cnblogs.com/luxiangyu111/p/9274127.html