字典

Dict
键值对 key: value pairs
字典一旦创建,其key就确定下来,无法更改
键 key:唯一、不能重复
键 key:不可更改;任何不可变的、固定的都可以作为key,如元组;但是list不可以作为key;通常使用字符串作为key
值:任意
更多信息,请访问 Python - dict
创建 Creation
花括号 {} 括起来的,以逗号分隔的 值对 形式的列表 - comma-separated list of key: value pairs within braces
# 空字典
d = {}
# 三个元素的字典
d = {'name': 'glpla', 'age': 18, 'gender': true}
字典推导式 - dict comprehension;同列表 list、set,除了值 value 外,还要生成键 key
# {0: 0, 1: 1, 2: 2, 3: 3, 4: 4, 5: 5, 6: 6, 7: 7, 8: 8, 9: 9}
d = {x: x for x in range(10)} 
类型构造器 - type constructor: dict()
d = dict([("name", "glpla"), ("age", 18), ("gender", True)])
d = dict(name="glpla", age=18, gender=True)
d = dict(zip(["name", "age", "gender"], ["glpla", 18, True]))
键 key
字符串
d = {'name': 'glpla', 'age': 18, 'gender': true}
tuple为key
d = {('name','age'):'123'}
list为key,报错:TypeError: unhashable type: 'list'
d = {['name','age']:'123'}
使用变量:a=12
d = {('name','age'):'123',a:20}
操作 Operation
遍历 for
for key, value in d.items():
  print(key, ":", value)      
查 d[key]
基于key访问;不是基于索引
x = d["age"]
改 d[key] = value
基于key修改;如果key存在,则修改;如果不存在,就添加一个key-value值对
d["age"] = 24
删 del d[key]
删除key对应的值对;如果不存在则告警
list(d)
返回字典中所有key组成的列表
len(d)
字典的长度
key in d
字典中是否存在key
key not in d
字典中是否不存在key
等同于 not key in d
items(d)
返回字典所有值对的视图;动态
dict_items([('name', 'glpla'), ('age', 18), ('gender', True)])
keys()
返回字典所有键的视图
dict_keys(['name', 'age', 'gender'])
for key in d.keys():
  print(d[key])
values()
返回字典所有值的视图
dict_values(['glpla', 18, True])
使用list()可将视图转换为列表
get(key, default=None)
获取key对应的值;如果不存在,则返回None
x = d.get("na123me", "glpla")
pop(key, default=None)
删除key对应的值对并返回
x = d.pop("na123me", "glpla")
popitem()
按照后进先出LIFO的顺序删除并返回值对
{'name': 'glpla', 'age': 18}
clear()
删除所有值对