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


Posted in Python onApril 27, 2017

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的ORM框架SQLAlchemy入门教程
Apr 28 Python
在Python中编写数据库模块的教程
Apr 29 Python
Python 3.x 连接数据库示例(pymysql 方式)
Jan 19 Python
python 全文检索引擎详解
Apr 25 Python
python django 增删改查操作 数据库Mysql
Jul 27 Python
python决策树之C4.5算法详解
Dec 20 Python
Python Pandas找到缺失值的位置方法
Apr 12 Python
python学习开发mock接口
Apr 28 Python
解决Django Static内容不能加载显示的问题
Jul 28 Python
python 五子棋如何获得鼠标点击坐标
Nov 04 Python
python进程的状态、创建及使用方法详解
Dec 06 Python
Autopep8的使用(python自动编排工具)
Mar 02 Python
Python中index()和seek()的用法(详解)
Apr 27 #Python
Python中几种导入模块的方式总结
Apr 27 #Python
Python利用matplotlib生成图片背景及图例透明的效果
Apr 27 #Python
python使用matplotlib绘图时图例显示问题的解决
Apr 27 #Python
Python中生成Epoch的方法
Apr 26 #Python
python 网络编程详解及简单实例
Apr 25 #Python
python 全文检索引擎详解
Apr 25 #Python
You might like
将兴奋、喜悦和坎加斯带到戴安娜:亚马逊公主
2020/03/03 欧美动漫
基于php-fpm 参数的深入理解
2013/06/03 PHP
php封装的连接Mysql类及用法分析
2015/12/10 PHP
PHP常见数组排序方法小结
2018/08/20 PHP
PHP面向对象程序设计之对象克隆clone和魔术方法__clone()用法分析
2019/06/12 PHP
mysqli扩展无法在PHP7下升级问题的解决
2019/09/10 PHP
在laravel中实现将查询的对象转换为多维数组的函数
2019/10/21 PHP
javascript实现的鼠标链接提示效果生成器代码
2007/06/28 Javascript
jQuery事件 delegate()使用方法介绍
2012/10/30 Javascript
一个js过滤空格的小函数
2014/10/10 Javascript
Underscore.js 1.3.3 中文注释翻译说明
2015/06/25 Javascript
angularjs客户端实现压缩图片文件并上传实例
2015/07/06 Javascript
jQuery与JS加载事件用法分析
2016/09/04 Javascript
jquery实现全选、不选、反选的两种方法
2016/09/06 Javascript
js与jQuery实现的用户注册协议倒计时功能实例【三种方法】
2017/11/09 jQuery
详解vue移动端日期选择组件
2018/02/22 Javascript
对Angular中单向数据流的深入理解
2018/03/31 Javascript
jQuery中元素选择器(element)简单用法示例
2018/05/14 jQuery
详解原生JS动态添加和删除类
2019/03/26 Javascript
JavaScript数组去重的几种方法
2019/04/07 Javascript
vue实现随机验证码功能(完整代码)
2019/12/10 Javascript
vue项目中openlayers绘制行政区划
2020/12/24 Vue.js
k8s node节点重新加入master集群的实现
2021/02/22 Javascript
Python中列表(list)操作方法汇总
2014/08/18 Python
一个简单的python爬虫程序 爬取豆瓣热度Top100以内的电影信息
2018/04/17 Python
pytorch神经网络之卷积层与全连接层参数的设置方法
2019/08/18 Python
Python中Yield的基本用法
2020/10/18 Python
NFL Game Pass欧洲:在线观看NFL比赛直播和点播,以高清质量播放
2018/08/30 全球购物
.NET笔试题(20个问题)
2016/02/02 面试题
高三上学期学习自我评价
2014/04/23 职场文书
政府班子四风问题整改措施
2014/10/04 职场文书
地方课程教学计划
2015/01/19 职场文书
2016年学习贯彻十八届五中全会精神心得体会
2016/01/05 职场文书
小学美术教学反思
2016/02/17 职场文书
2019年浪漫婚礼证婚词
2019/06/27 职场文书
导游词之烟台威海蓬莱
2019/11/14 职场文书