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连接数据库的方法
Oct 19 Python
R语言 vs Python对比:数据分析哪家强?
Nov 17 Python
Python中实例化class的执行顺序示例详解
Oct 14 Python
python绘制多个子图的实例
Jul 07 Python
python 下 CMake 安装配置 OPENCV 4.1.1的方法
Sep 30 Python
如何基于python测量代码运行时间
Dec 25 Python
pytorch中torch.max和Tensor.view函数用法详解
Jan 03 Python
Python对wav文件的重采样实例
Feb 25 Python
Python控制鼠标键盘代码实例
Dec 08 Python
python实现银行账户系统
Feb 22 Python
Python中的turtle画箭头,矩形,五角星
Mar 16 Python
python中redis包操作数据库的教程
Apr 19 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 和 MYSQL
2006/10/09 PHP
php下通过curl抓取yahoo boss 搜索结果的实现代码
2011/06/10 PHP
php单链表实现代码分享
2016/07/04 PHP
5分钟理解JavaScript中this用法分享
2013/11/09 Javascript
node.js中的buffer.Buffer.isEncoding方法使用说明
2014/12/14 Javascript
在JavaScript中处理字符串之fontcolor()方法的使用
2015/06/08 Javascript
JavaScript判断FileUpload控件上传文件类型
2015/09/28 Javascript
分享五个有用的jquery小技巧
2015/10/08 Javascript
基于jQuery实现仿QQ空间送礼物功能代码
2016/05/24 Javascript
JS实现图文并茂的tab选项卡效果示例【附demo源码下载】
2016/09/21 Javascript
AngularJS过滤器filter用法实例分析
2016/11/04 Javascript
Bootstrap下拉菜单样式
2017/02/07 Javascript
react 组件传值的三种方法
2019/06/03 Javascript
vue引入微信sdk 实现分享朋友圈获取地理位置功能
2019/07/04 Javascript
vue请求服务器数据后绑定不上的解决方法
2019/10/30 Javascript
vue使用openlayers实现移动点动画
2020/09/24 Javascript
Nuxt的动态路由和参数校验操作
2020/11/09 Javascript
pip matplotlib报错equired packages can not be built解决
2018/01/06 Python
Python3内置模块之json编解码方法小结【推荐】
2020/12/09 Python
Django文件上传与下载(FileFlid)
2019/10/06 Python
简单了解Python读取大文件代码实例
2019/12/18 Python
PIP和conda 更换国内安装源的方法步骤
2020/09/21 Python
一套中级Java程序员笔试题
2015/01/14 面试题
高中生的学习总结自我鉴定
2013/10/26 职场文书
网上商城创业计划书范文
2014/01/31 职场文书
品质管理部岗位职责范文
2014/03/01 职场文书
学生意外伤害赔偿协议书
2014/09/17 职场文书
民政局办理协议离婚(范本)
2014/10/25 职场文书
2014年乡镇个人工作总结
2014/12/03 职场文书
九华山导游词
2015/02/03 职场文书
给病人的慰问信
2015/03/23 职场文书
大学生暑期实践报告
2015/07/13 职场文书
妇产科护理心得体会
2016/01/22 职场文书
MySQL Router实现MySQL的读写分离的方法
2021/05/27 MySQL
JavaScript执行机制详细介绍
2021/12/06 Javascript
Java完整实现记事本代码
2022/06/16 Java/Android