当前位置: 代码网 > it编程>前端脚本>Python > python创建字典的几种常见方法

python创建字典的几种常见方法

2025年03月21日 Python 我要评论
python字典以“键-值对”形式存在,所有的元素放在一对大括号“{}”中;字典中的“键”是不允许重复,“值&rdq

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字典的常见用法,可根据实际需求选择不同的用法。更多相关python创建字典内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com