Python中创建字典的几种方法

传统的文字表达式

>>> d = {'name':'Joe.Ye', 'age':25, 'gender':'male'}
>>> d
{'gender': 'male', 'age': 25, 'name': 'Joe.Ye'}

如果事先可以拼出整个字典,这种方式是很方便的。

动态分配键值

>>> d = {}
>>> d['name'] = 'Joe.Ye'
>>> d['age'] = 25
>>> d['gender'] = 'male'
>>> d
{'gender': 'male', 'age': 25, 'name': 'Joe.Ye'}

如果需要动态建立一个字典的一个字段,那么这种方式比较合适。

字典与列表不同,不能通过偏移量进行赋值,只能通过键来读取或赋值,所以也可以这样为字典赋值,当然访问不存在的键会报错:

>>> d[1] = 'abc'
>>> d
{'gender': 'male', 'age': 25, 'name': 'Joe.Ye', 1: 'abc'}
>>> d[2]
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
KeyError: 2

字典键值表

>>> d = dict(name='Joe.Ye', age=25, gender='male')
>>> d
{'gender': 'male', 'age': 25, 'name': 'Joe.Ye'}

因为这种形式语法简单,不易出错,所以非常流行。

这种形式所需的代码比常量少,但是键必须都是字符串才行,所以下列代码会报错:

>>> d = dict(name='Joe.Ye', age=25, gender='male', 1='abc')
  File "<stdin>", line 1
SyntaxError: keyword can't be an expression

字典键值元组表

>>> d = dict([('name','Joe.Ye'), ('age',25), ('gender','male')])
>>> d
{'gender': 'male', 'age': 25, 'name': 'Joe.Ye'}

如果需要在程序运行时把键和值逐步建成序列,那么这种方式比较有用。

所有键的值都相同或者赋予初始值:

>>> d = dict.fromkeys(['height','weight'], 'normal')
>>> d
{'weight': 'normal', 'height': 'normal'}

版权声明:
作者:Joe.Ye
链接:https://www.appblog.cn/index.php/2023/02/22/several-methods-of-create-dictionaries-in-python/
来源:APP全栈技术分享
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
打赏
海报
Python中创建字典的几种方法
传统的文字表达式 >>> d = {'name':'Joe.Ye', 'age':25, 'gender':'male'} >>> d {'gen……
<<上一篇
下一篇>>
文章目录
关闭
目 录