python 字典
1.定义
- 元素必须键值对
v1 = {}
v2 = dict()
字典中对键值得要求:
-
键:必须可哈希。 目前为止学到的可哈希的类型:int/bool/str/tuple;不可哈希的类型:list/set/dict。(集合)
-
值:任意类型。
# 合法:
data_dict = {
"流年":29,
True:5,
123:5,
(11,22,33):["alex","eric"]
}
不合法:
# 不合法
v1 = {
[1, 2, 3]: '周杰伦', # 列表非可哈希,不能作为字典的键
"age" : 18
}
v2 = {
{1,2,3}: "哈哈哈", # 集合非可哈希,不能作为字典的键
'name':"alex"
}
v3 = {
{"k1":123,"k2":456}: '呵呵呵', # 字典非可哈希,不能作为字典的键
"age":999
}
2.独有功能
d1.items() # dict_items([(11,22),(33,44),('s','d')])
for item in info.items():
print(item[0],item[1]) # item是一个元组 (键,值)
for key,value in info.items():
print(key,value) # key代表键,value代表值,将兼职从元组中直接拆分出来了。
3.公共功能
v1 = {"k1": 1, "k2": 2}
v2 = {"k2": 22, "k3": 33}
v3 = v1 | v2
print(v3) # {'k1': 1, 'k2': 22, 'k3': 33}
v1 =len(v1) # 几组键值对
v1 = "age" in info
v2 = "age" in info.keys()
v3 = 'Liunian' in info.values()
info = {"age": 12, "status": True, "name": "流年"}
# 输出info.items()获取到的 dict_items([ ('age', 12), ('status', True), ('name', 'wupeiqi'), ('email', 'xx@live.com') ])
v1 = ("age", 12) in info.items()
print(v1)
info = { "age":12, "status":True, "name":"武沛齐"}
print( info["age"] ) # 输出:12
print( info["xxxx"] ) # 报错,通过键为索引去获取之后时,键不存在会报错(以后项目开发时建议使用get方法根据键去获取值)
value = info.get("xxxxx") # None
print(value)
info = {"age":12, "status":True,"name":"流年"}
info["gender"] = "男" # 没有该键,增加
info["age"] = "18" # 有该键,修改
del info['age'] # 删除
v = dict( [ ("k1", "v1"), ["k2", "v2"] ] )
print(v) # { "k1":"v1", "k2":"v2" }
info = { "age":12, "status":True, "name":"liunian" }
v1 = list(info) # ["age","status","name"]
v2 = list(info.keys()) # ["age","status","name"]
v3 = list(info.values()) # [12,True,"liunian"]
v4 = list(info.items()) # [ ("age",12), ("status",True), ("name","liunian") ]
因为字典的键是可哈希的(int,bool,str,tuple),所以按键取值速度也都快
嵌套:多数据嵌套的时候需要注意以下几点
1.字典的键必须可哈希(list,set,dict不可哈希)
2.字典的值可以是任意类型
3.