一、字典dict
1、基础概念信息
1)基本组成:由键值对组成,键值对之间用逗号分隔,大括号{}组成,value值可以任意值
2)key:不包含列表和字典
3)字典是无序的
4)可通过索引找到指定元素,根据指定的key取值
5)支持del删除和for循环,默认以key循环
6)key有重复时,只能取到其中一个
1.1 概念中的举例
1)索引eg
info={
"k1":"123",
"k2": 18,
"k3": True,
"k4": [11,22,33,
{
"kk4":"abd",
"kk5":11,
},
],
2: "ABC",
True: "娜娜",
(11,22): 123
}
v=info["k4"][3]["kk5"]
print(v)
结果:11
2、 dict类中对象可调用方法
2.1 keysvaluesitems
2.1.1默认key循环
for循环默认通过key循环: info={ "k1":"123", "k2": 18, "k3": True, "k4": [11,22,33, { "kk4":"abd", "kk5":11, }, ], 2: "ABC", True: "娜娜", (11,22): 123 } for item in info: print(item) 结果: True 2 k2 (11, 22) k4 k1 k3
通过value循环输出 info={ "k1":"123", "k2": 18, "k3": True, "k4": [11,22,33, { "kk4":"abd", "kk5":11, }, ], 2: "ABC", True: "娜娜", (11,22): 123 } for item in info.values(): print(item) 结果: 娜娜 True 123 [11, 22, 33, {'kk4': 'abd', 'kk5': 11}] 18 ABC 123
2.1.2 通过键值对输出循环
info={ "k1":"123", "k2": 18, "k3": True, "k4": [11,22,33, { "kk4":"abd", "kk5":11, }, ], 2: "ABC", True: "娜娜", (11,22): 123 } for k,v in info.items(): print(k,v) 结果: k3 True True 娜娜 2 ABC k4 [11, 22, 33, {'kk4': 'abd', 'kk5': 11}] k2 18 k1 123 (11, 22) 123
2.2 clearcopy
2.3 fromkeys,静态方法:根据序列创建字典,并指定统一的值
v=dict.fromkeys(["k1",123,"abc"],6666) print(v) 输出: {'abc': 6666, 123: 6666, 'k1': 6666}
2.4 get根据key获取值,key不存在时,可以指定,默认值是None
info = { "k1":"123", "k2": 18, "k3": True } v1=info.get("k1111",12345345) v2=info.get("k1",66666) print(v1,v2) 结果 12345345 123
2.5 pop 删除指定key对应的键值对,且返回删除对应的value
popitem 随机删除一对键值对,并获取值,值的显示方式是??
info = { "k1":"123", "k2": 18, "k3": True } v1=info.pop("k1") print(v1) print(info) 输出: 123 {'k3': True, 'k2': 18}
info = { "k1":"123", "k2": 18, "k3": True } k,v=info.popitem() print(info,k,v) print(info) 结果: {'k3': True, 'k2': 18} k1 123 {'k3': True, 'k2': 18}
2.6 setdefault:设置值,已存在,不设置,获取当前key对应的值
不存在,设置,获取当前key设置的值
key存在时 info = { "k1":"123", "k2": 18, "k3": True } v=info.setdefault("k1",66666) print(v) print(info) 结果 123 Key不存在时 info = { "k1":"123", "k2": 18, "k3": True } v=info.setdefault("k11111",66666) print(v) print(info) 结果: 66666 {'k11111': 66666, 'k1': '123', 'k2': 18, 'k3': True}
2.7 update更新
字典方式更新: info = { "k1":"123", "k2": 18, "k3": True } info.update({"k1":66666,"k4":"娜娜"}) print(info) 内部构造成k=v的方式 info = { "k1":"123", "k2": 18, "k3": True } info.update(k1=66666,k4="娜娜") print(info) 输出结果: {'k4': '娜娜', 'k3': True, 'k1': 66666, 'k2': 18}
二、bool布尔值
1、转换为bool()
2、内存存储时,存储的是True=1,False=0
3、假包含:None,[]空元组,()空列表,{}空字典,""空字符串,0