<Python基础>字典的基本操作

 1 '''
 2 小知识
 3 1.字典的键只能是不可变数据类型:int 元组 bool str(可哈希)
 4 字典查找数据会使用二分查找,会先用哈希表将键转化为数字然后进行查找
 5 '''
 6 s = {
 7     "name":"xiaohei",
 8     "age":"18",
 9     "address":"HUbei",
10 }
11 #
12 s["weight"]="80kg"  #无该键则加,有键则覆盖
13 print(s)
14 s.setdefault("name","laowang") #无该键则加,有键则不变
15 print(s)
16 
17 #
18 s.pop("age") #按照键去删除,返回删除的键所对应的值,无该键会报错
19 print(s)
20 print(s.pop("price","无该键的默认返回值在此"))#有键会返回该键对应的值,无键返回后面默认返回的值
21 del s["address"]    #按键进行删除,无返回值,无该键会报错
22 print(s)
23 s.popitem() #随机删除,在3.6版本后会删除字典最后一个
24 print(s)
25 #s.clear() #清空字典
26 
27 #
28 s1 = {"name":"qiqi","age":"12","address":"hubei"}
29 s.update(s1)    #将s1中所有的键值进行覆盖添加-----相同覆盖,没有添加
30 print(s)
31 
32 #
33 print(s["name"]) #有该键返回对应的值,没有该键报错
34 print(s.get("age")) #有该键返回对应的值,没有返回None
35 print(s.get('123',"返回的默认值在此")) #最常用的,有返回对应值,没有返回默认值
36 
37 print(s.items()) #返回所有键值
38 print(s.keys()) #返回所有的键
39 print(s.values())#返回所有的值
40 
41 #三种字典的循环
42 for key in s:   #打印键
43     print(key)
44 for item in s.items(): #打印键值对以元组的形式
45     print(item)
46 for key,value in s.items(): #打印键值,最常用
47     print(key,value)

输出结果:

 1 {'name': 'xiaohei', 'age': '18', 'address': 'HUbei', 'weight': '80kg'}
 2 {'name': 'xiaohei', 'age': '18', 'address': 'HUbei', 'weight': '80kg'}
 3 {'name': 'xiaohei', 'address': 'HUbei', 'weight': '80kg'}
 4 无该键的默认返回值在此
 5 {'name': 'xiaohei', 'weight': '80kg'}
 6 {'name': 'xiaohei'}
 7 {'name': 'qiqi', 'age': '12', 'address': 'hubei'}
 8 qiqi
 9 12
10 返回的默认值在此
11 dict_items([('name', 'qiqi'), ('age', '12'), ('address', 'hubei')])
12 dict_keys(['name', 'age', 'address'])
13 dict_values(['qiqi', '12', 'hubei'])
14 name
15 age
16 address
17 ('name', 'qiqi')
18 ('age', '12')
19 ('address', 'hubei')
20 name qiqi
21 age 12
22 address hubei
原文地址:https://www.cnblogs.com/shuimohei/p/9643056.html