字典,即包含input A to output B的映射关系的集合,A被称之为键,B被称之为对,合称键值对。
目录
1、创建字典
字典一共有六种创建方法,本文主要介绍其中基础的几种:
lovers = {"lwy": "lxy", "lml": "hdp", "lj": "hdy"}
nums = dict(lwy=1, lxy=2, lml=3, hdp=4)
name = dict.fromkeys("lxy", 520)
print(nums)
print(lovers)
print(name)
运行结果为:
2、操作字典
区别于序列,访问字典时使用的索引是键,返回的是值:
lovers = {"lwy": "lxy", "lml": "hdp", "lj": "hdy"}
print(lovers["lwy"])
修改字典可直接利用索引,即dict["old_date"] = "new_data";可使用pop函数删除特定键值对,也可使用del函数;使用clear函数则清空字典。
若要同时修改多个键值对,可使用update函数:
name = {"lwy": 1, "lxy": 2, "yst": 3, "lqs": 4}
name.update(lwy=5, lxy=6)
print(name)
运行结果为:
使用keys(),valuse(),items()可分别获得键、值和键值对的试图对象,即以它们为元素的序列,并且会随着字典的改变而改变。
name = {"lwy": 1, "lxy": 2, "yst": 3, "lqs": 4}
key = name.keys()
values = name.values()
item = name.items()
print(key)
print(values)
print(item)
name.pop("yst")
print(key)
print(values)
print(item)
运行结果为:
3、嵌套字典
name = {"lwy": {"语文": 110, "数学": 120},
"lxy": {"语文": 120, "数学": 110},
"lqs": {"语文": 130, "数学": 130}}
print(name["lwy"]["数学"])
此时访问需使用双重索引。
4、字典推导式
格式与之前列表推导式相同:
lovers = {"lwy": "lxy", "lml": "hdp", "lj": "hdy"}
lovers_ = {a: b for b, a in lovers.items()}
print(lovers_)
输出结果为原字典的键与值对调:
使用推导式可直接获得字符串的编码值:
code = {a: ord(a) for a in "lwylovelxy"}
print(code)