Python中创建字典的几种方法总结(推荐)

yipeiwu_com6年前Python基础

1、传统的文字表达式:

>>> d={'name':'Allen','age':21,'gender':'male'}
>>> d
{'age': 21, 'name': 'Allen', 'gender': 'male'}

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

2、动态分配键值:

>>> d={}
>>> d['name']='Allen'
>>> d['age']=21
>>> d['gender']='male'
>>> d
{'age': 21, 'name': 'Allen', 'gender': 'male'}

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

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

>>> d[1]='abcd'
>>> d
{1: 'abcd', 'age': 21, 'name': 'Allen', 'gender': 'male'}
>>> d[2]
Traceback (most recent call last):
 File "<pyshell#9>", line 1, in <module>
  d[2]
KeyError: 2

3、字典键值表

>>> c = dict(name='Allen', age=14, gender='male')
>>> c
{'gender': 'male', 'name': 'Allen', 'age': 14}

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

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

>>> c = dict(name='Allen', age=14, gender='male', 1='abcd')
SyntaxError: keyword can't be an expression

4、字典键值元组表

>>> e=dict([('name','Allen'),('age',21),('gender','male')])
>>> e
{'age': 21, 'name': 'Allen', 'gender': 'male'}

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

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

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

以上这篇Python中创建字典的几种方法总结(推荐)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

python版本的仿windows计划任务工具

python版本的仿windows计划任务工具

计划任务工具-windows 计划任务工具根据自己设定的具体时间,频率,命令等属性来规定所要执行的计划。 效果图 代码 # -*- coding: utf-8 -*- """ M...

python画图系列之个性化显示x轴区段文字的实例

python画图系列之个性化显示x轴区段文字的实例

今天在写一个研究生创新项目申报书时涉及到一个python画图问题,对于在x轴各个区段显示自定义的字符串有些疑问,特此记录。 界面如下所示: 代码如下所示: import matpl...

Python异步操作MySQL示例【使用aiomysql】

本文实例讲述了Python异步操作MySQL。分享给大家供大家参考,具体如下: 安装aiomysql 依赖 Python3.4+ asyncio PyMySQL 安装...

Python中的pygal安装和绘制直方图代码分享

Python中的pygal安装和绘制直方图代码分享

有关pygal的安装,大家可以参阅《pip和pygal的安装实例教程》。 直方图: 直方图是一个特殊的条,它可以取3个数值:纵坐标高度,横坐标开始和横坐标结束。 import pyg...

Python cookbook(数据结构与算法)从任意长度的可迭代对象中分解元素操作示例

Python cookbook(数据结构与算法)从任意长度的可迭代对象中分解元素操作示例

本文实例讲述了python从任意长度的可迭代对象中分解元素操作。分享给大家供大家参考,具体如下: 从某个可迭代对象中分解出N个元素,但是可迭代对象的长度可能超过N,会出现“分解值过多”的...