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进阶-函数默认参数(详解)
May 18 Python
Python编程二分法实现冒泡算法+快速排序代码示例
Jan 15 Python
对python中的pop函数和append函数详解
May 04 Python
python实现旋转和水平翻转的方法
Oct 25 Python
Python闭包思想与用法浅析
Dec 27 Python
pandas 把数据写入txt文件每行固定写入一定数量的值方法
Dec 28 Python
python关于矩阵重复赋值覆盖问题的解决方法
Jul 19 Python
wxPython实现带颜色的进度条
Nov 19 Python
Python imutils 填充图片周边为黑色的实现
Jan 19 Python
Python matplotlib图例放在外侧保存时显示不完整问题解决
Jul 28 Python
PyQt实现计数器的方法示例
Jan 18 Python
Python进程间的通信之语法学习
Apr 11 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
PHP中几种常见的超时处理全面总结
2012/09/11 PHP
php设计模式之命令模式的应用详解
2013/05/21 PHP
PHP基于Redis消息队列实现发布微博的方法
2017/05/03 PHP
PHP实现阿里大鱼短信验证的实例代码
2017/07/10 PHP
PHP实现基于栈的后缀表达式求值功能
2017/11/10 PHP
ppk谈JavaScript style属性
2008/10/10 Javascript
js中的window.open返回object的错误的解决方法
2009/08/15 Javascript
jQuery学习笔记之总体架构
2014/06/03 Javascript
关于Javascript加载执行优化的研究报告
2014/12/16 Javascript
JavaScript中的分号插入机制详细介绍
2015/02/11 Javascript
jQuery插件Skippr实现焦点图幻灯片特效
2015/04/12 Javascript
基于javascript实现动态时钟效果
2020/08/18 Javascript
jquery 追加元素append、prepend、before、after用法与区别分析
2016/12/02 Javascript
原生js实现简单的Ripple按钮实例代码
2017/03/24 Javascript
Angularjs上传图片实例详解
2017/08/06 Javascript
自定义PC微信扫码登录样式写法
2017/12/12 Javascript
解决vue keep-alive 数据更新的问题
2018/09/21 Javascript
js 将线性数据转为树形的示例代码
2019/05/28 Javascript
深度了解vue.js中hooks的相关知识
2019/06/14 Javascript
针对Vue路由history模式下Nginx后台配置操作
2020/10/22 Javascript
如何使用gpu.js改善JavaScript的性能
2020/12/01 Javascript
在Gnumeric下使用Python脚本操作表格的教程
2015/04/14 Python
举例讲解Python中的身份运算符的使用方法
2015/10/13 Python
初学python的操作难点总结(新手必看篇)
2017/08/03 Python
python基于http下载视频或音频
2018/06/20 Python
Python进阶之全面解读高级特性之切片
2019/02/19 Python
Scrapy框架爬取Boss直聘网Python职位信息的源码
2019/02/22 Python
pyqt5移动鼠标显示坐标的方法
2019/06/21 Python
python 函数中的参数类型
2020/02/11 Python
HTML5拖拽的简单实例
2016/05/30 HTML / CSS
益模软件Java笔试题
2012/03/27 面试题
搬家公司的创业计划书
2014/01/01 职场文书
前厅收银主管岗位职责
2014/02/04 职场文书
浪费资源的建议书
2014/03/12 职场文书
教师对学生的评语
2014/04/28 职场文书
Python中文分词库jieba(结巴分词)详细使用介绍
2022/04/07 Python