python字典以“键-值对”形式存在,所有的元素放在一对大括号“{}”中;
字典中的“键”是不允许重复,“值”是可以重复的。
以下总结了3种字典的构建方法
一、直接赋值法
使用=将一个字典赋值给一个变量,即可以创建一个字典变量。
# # 直接赋值
a = {}
b = {'a': 1, 2: 'a', 1: 2, "b": 1, '''c''': 1}
print('空字典:', a, type(a))
print('字典b:', b, type(b))
空字典:{} <class ‘dict’>
字典b :{‘a’: 1, 2: ‘a’, 1: 2, ‘b’: 1, ‘c’: 1}<class ‘dict’>
注:字典中使用单引号、双引号、三引号都可以,这点跟json格式数据不同,json格式数据只能使用双引号。
二、内置函数dict()
使用内置函数dict快速创建字典
**用法1:**创建空字典
# 内置函数dict()
a = dict()
print(a, type(a))
结果:{} <class ‘dict’>
**用法2:**将2个列表格式数据组合成字典
# 将2个列表数据组合成字典
keys = ['a', 'b', 'c']
values = [1, 2, 3]
dict1 = dict(zip(keys, values))
print('结果:', dict1)
结果:{‘a’: 1, ‘b’: 2, ‘c’: 3}
注:使用此方法组合字典时,要保证2个列表的长度一样。
**用法3:**根据给定的“键-值对”创建字典
# 根据给定的键值对创建字典
dict1 = dict(a=1, b=2, c=3, d='a')
print('结果:', dict1)
结果:{‘a’: 1, ‘b’: 2, ‘c’: 3, ‘d’: ‘a’}
**用法4:**给定内容为“键”,创建“值”为空的字典
# # 给定内容为键,创建值为空的列表
dict1 = dict.fromkeys(['a', 'b', 'c'])
dict2 = dict.fromkeys({'a', 'b', 'c'})
dict3 = dict.fromkeys(('a', 'b', 'c'))
print('结果1:', dict1)
print('结果2:', dict2)
print('结果3:', dict3)
结果1:{‘a’: None, ‘b’: None, ‘c’: None}
结果2:{‘c’: None, ‘b’: None, ‘a’: None}
结果3:{‘a’: None, ‘b’: None, ‘c’: None}
注:dict.fromkeys()里面值类型可以是列表、集合、元组。
**用法5:**创建所有“键”对应的“值”相同的字典
# 创建所有键对应的值相同的字典
dict1 = dict.fromkeys(['a', 'b', 'c'], 1)
dict2 = dict.fromkeys(['a', 'b', 'c'], [1,2])
print('值全为1的字典:', dict1)
print('值全为[1,2]的字典:', dict2)
值全为1的字典:{‘a’: 1, ‘b’: 1, ‘c’: 1}
值全为[1,2]的字典:{‘a’: [1, 2], ‘b’: [1, 2], ‘c’: [1, 2]}
三、字典推导式
使用字典推导式创建字典
# 使用字典推导式创建字典
dict1 = {key:values for (key, values) in []}
dict2 = {key: values for (key, values) in zip(['a', 'b', 'c'], [1, 2, 'a'])}
print('结果1:', dict1)
print('结果2:', dict2)
结果1:{}
结果2:{‘a’: 1, ‘b’: 2, ‘c’: ‘a’}
以上就是构建python字典的常见用法,可根据实际需求选择不同的用法。
—end—