字典
- 2021-10-09 23:16:37
- admin
- 1581
- 最后编辑:admin 于 2024-02-14 17:10:58
字典是一系列键值对的集合,用花括号 {} 标识。值可以是任何类型。键与值之间用冒号 : 分割,键值对之间用逗号分割。字典的键必须是唯一的。
字典元素的键必须是可进行哈希值计算的对象, 通常是 数字 或者 字符串。
而字典元素的值可以是任何类型的对象,包括 数字、字符串、列表、元组、字典、自定义类型等等均可。
varname = { key1:value1, key2:value2, key3:value3, …… }
最后一个键值对的下一行添加一个右花括号,并缩进4个空格。
字典的主要用途是通过关键字存储、提取值。用 del 可以删除键值对。用已存在的关键字存储值,与该关键字关联的旧值会被取代。通过不存在的键提取值,则会报错。
对字典执行 list(d) 操作,返回该字典中所有键的列表,按插入次序排列(如需排序,请使用 sorted(d))。检查字典里是否存在某个键,使用关键字 in。
与列表不同,字典是无序的,所以不能像列表那样切片。
操作字典
访问字典中的值:
person = { 'name':'Jack', 'age':20, } print(person['name'])
添加新的键值对:
person = { 'name':'Jack', 'age':20, } persion['addr'] = 'beijing' persion['tel'] = '123456'
修改字典中的值:
person = { 'name':'Jack', 'age':20, } person['name'] = 'Lucy'
删除字典里的键值对:
person = { 'name':'Jack', 'age':20, } del person['age']
dict() 构造函数可以直接用键值对序列创建字典:
dict([('sape', 4139), ('guido', 4127), ('jack', 4098)]) # {'sape': 4139, 'guido': 4127, 'jack': 4098}
字典推导式可以用任意键值表达式创建字典:
{x: x**2 for x in (2, 4, 6)} # {2: 4, 4: 16, 6: 36}
遍历字典
for-in 循环遍历字典中的所有键值对。遍历时,其实是先用字典的 items() 方法将字典转化为一个列表,每个元素都是一个键值对。然后本质上即为列表的遍历。
person = { 'name':'Jack', 'age':20, 'addr':'beijing', } for key, value in person.copy().items(): #声明两个变量存储键和值。 print(f'key:{key}') print(f'value:{value}')
注:
字典名.items() 返回字典的所有键值对列表。
字典名.keys() 返回字典的所有键列表。
字典名.values() 返回字典的所有值列表。