python字典类似于map,是一种可变容器模型,且可存储任意类型对象。
玩过字典的人应该晓得,字典中的键是唯一的,如果同一个键被两次赋值,后一个值会覆盖前一个,并且python中字典的键不能直接修改,因为键是hash。字典的键值对和list不一样,他是无序的,所以只能通过键的名字来索引。
删除字典的一个键值对用del命令,返回一个键对应的值用get()方法。
dicts = {"name":"傻丫头","age":20,"sex":"W"} # 定义一个字典
dicts["height"]=170 # 新增一个键值对
print(dicts)
> {'name': '傻丫头', 'age': 20, 'sex': 'W', 'height': 170}
del dicts['height'] # 删除一个键值对
print(dicts)
> {'name': '傻丫头', 'age': 20, 'sex': 'W'}
print([(k,v) for k,v in dicts.items()]) # 以列表返回可遍历的(键,值)元组数组
> [('name', '傻丫头'), ('age', 20), ('sex', 'W')]
print(dicts.keys()) #以列表返回一个字典所有的键
print(dicts.values()) #以列表返回字典中的所有值
> dict_keys(['name', 'age', 'sex'])
> dict_values(['傻丫头', 20, 'W'])
# 返回指定键的值,如果值不在字典中返回default值 , default = "not available",不能加default=
print(dicts.get("weight"),"not available")
> None not available
# 和get()类似,如果字典中包含有给定键,则返回该键对应的值,否则返回为该键设置的值。
print(dicts.setdefault("x", None))
None
使用zip函数将列表组合成字典dict,赋值函数加pop函数可以间接修改键的key值方法。
dicts = {"name":"傻丫头","age":20} #定义一个字典
# 给可迭代对象赋值
seq = ['a','b']
dict1 = dict.fromkeys(seq,["val1","val2"]) # 创建一个新字典,以序列seq中元素作为字典的键,val为字典所有键对应的初始值
print(dict1)
> {'a': ['val1', 'val2'], 'b': ['val1', 'val2']}
# 俩列表组合为字典
seq2 = ["11","22"]
m = dict(zip(seq,seq2))
print(m)
> {'a': '11', 'b': '22'}
dicts.update(dict1) #把字典dict1的键/值对更新到dicts里
print(dicts)
> {'name': '傻丫头', 'age': 20, 'a': ['val1', 'val2'], 'b': ['val1', 'val2']}
dicts["c"] = dicts.pop('a') #间接修改键的key值方法,pop删除字典给定键所对应的值,返回值为被删除的值
> {'name': '傻丫头', 'age': 20, 'b': ['val1', 'val2'], 'c': ['val1', 'val2']}
听说,好看的皮囊千篇一律,有趣的灵魂万里挑一,^_^^_^^_^,呃,,,今天的分享到这里就结束了,下次有时间再见哦,拜拜😊