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

 更新时间:2025年03月21日 09:24:32   作者:一位代码  
本文主要介绍了python创建字典的几种常见方法,包括包括直接赋值法、内置函数dict()和字典推导式,具有一定的参考价值,感兴趣的可以了解一下

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创建字典内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • python 标准差计算的实现(std)

    python 标准差计算的实现(std)

    这篇文章主要介绍了python 标准差计算的实现(std),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-07-07
  • Python实现完全数的示例详解

    Python实现完全数的示例详解

    完全数,又称完美数,定义为:这个数的所有因数(不包括这个数本身)加起来刚好等于这个数。本文就来用Python实现计算完全数,需要的可以参考一下
    2023-01-01
  • python安装virtualenv虚拟环境步骤图文详解

    python安装virtualenv虚拟环境步骤图文详解

    这篇文章主要介绍了python安装virtualenv虚拟环境步骤,本文通过图文并茂的形式给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-09-09
  • python笔记(1) 关于我们应不应该继续学习python

    python笔记(1) 关于我们应不应该继续学习python

    关于Python,如果你要学习,建议大家查看一下网站:因为本人也是刚刚决定收集点零碎时间来学习下它,推荐可能并不是最好的
    2012-10-10
  • Python基于随机采样一至性实现拟合椭圆(优化版)

    Python基于随机采样一至性实现拟合椭圆(优化版)

    这篇文章主要对上一版的Python基于随机采样一至性实现拟合椭圆的优化,文中的示例代码讲解详细,具有一定的借鉴价值,感兴趣的可以了解一下
    2022-11-11
  • 如何利用Python提取pdf中的表格数据(附实战案例)

    如何利用Python提取pdf中的表格数据(附实战案例)

    从PDF表格中获取数据是一项痛苦的工作,下面这篇文章主要给大家介绍了关于如何利用Python提取pdf中的表格数据的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-11-11
  • python神经网络MobileNetV3 small模型的复现详解

    python神经网络MobileNetV3 small模型的复现详解

    这篇文章主要为大家介绍了python神经网络MobileNetV3 small模型的复现详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-05-05
  • python使用布隆过滤器的实现示例

    python使用布隆过滤器的实现示例

    这篇文章主要介绍了python使用布隆过滤器的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-08-08
  • pytorch实现用CNN和LSTM对文本进行分类方式

    pytorch实现用CNN和LSTM对文本进行分类方式

    今天小编就为大家分享一篇pytorch实现用CNN和LSTM对文本进行分类方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-01-01
  • 详解Python中的文本处理

    详解Python中的文本处理

    这篇文章主要介绍了Python中的文本处理,包括从最基本的string模块的基础使用和更进一步的re模块的使用,本文来自IBM官方开发者技术文档,需要的朋友可以参考下
    2015-04-04

最新评论