字典
洛 2022/2/25 Python 基础
字典是另一种可变容器模型,且可存储任意类型对象。可以采用{}
或dict
来创建,其中每个元素均包含一个键(key)和一个值(value),并以 :
分割。例如:
Dict = {'Name':'Luo', 'Year':2022}
1
# 键值
字典的每个值都可以为包括字典在内的其他任一类型的数据。
注意
字典内键是唯一的,不能重复。
# 获取键
Keys = Dict.keys()
print(Keys)
1
2
2
执行结果:dict_keys(['Name', 'Year'])
# 获取值
Values = Dict.values()
print(Values)
1
2
2
执行结果:dict_values(['Luo', 2022])
# 访问值
Value = Dict['Name'] # 或 Value = Dict.get('Name')
print(Value)
1
2
2
执行结果:Luo
# 转化
返回一个嵌套元组的列表,每个元组的内的子元素为字典的每个元组对应的键和值。
Dict = {'Name':'Luo','Year':2022}
Items = Dict.items()
print(Items)
1
2
3
2
3
执行结果:dict_items([('Name', 'Luo'), ('Year', 2022)])
# 修改
Dict = {'Name':'Luo','Year':2022}
1
# 更新
Dict.update({'Month':2})
print(Dict)
1
2
2
执行结果:{'Name':'Luo', 'Year':2022, 'Month':2}
# 剔除
Dict.pop('Year')
print(Dict)
1
2
2
执行结果:{'Name':'Luo', 'Month':2}
# 替换值
Dict['Month'] = 3
print(Dict)
1
2
2
执行结果:{'Name':'Luo', 'Month':3}
# 增加
Dict['Love'] = 'Time'
print(Dict)
1
2
2
执行结果:{'Name':'Luo', 'Moth':3, 'Love':'Time'}
# 组装字典
利用dict
和zip
实现两个列表快速组合为字典。
NewDict = dict(zip(['Luo','Suppe'],['Name','Pseudonym']))
print(NewDict)
1
2
2
执行结果:{'Luo':'Name', 'Suppe':'Pseudonym'}
# 解包键值
将所有的键值返回到一个列表里。
NewDict = {'Luo':'Name', 'Suppe':'Pseudonym'}
KV = list(sum(NewDict.items(), ()))
print(KV)
1
2
3
2
3
执行结果:['Luo', 'Name', 'Suppe', 'Pseudonym']
# 字典解析式
与列表解析式相似,字典解析式是将一个可迭代对象(如列表)转换成字典的工具。示例:
# 将列表元素值与其对应的索引组成字典
List = ['Luo', 'Year', 'Suppe']
NDict = {List[i]:i for i in range(len(List))}
print(NDict)
1
2
3
4
2
3
4
执行结果:{'Luo':0, 'Year':1, 'Suppe':2}