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单线程实现多个定时器示例
Mar 30 Python
Python中的hypot()方法使用简介
May 18 Python
Python中用altzone()方法处理时区的教程
May 22 Python
Django基于ORM操作数据库的方法详解
Mar 27 Python
Python实现一个服务器监听多个客户端请求
Apr 12 Python
windows下安装Python的XlsxWriter模块方法
May 03 Python
python3将视频流保存为本地视频文件
Jun 20 Python
Python3多线程基础知识点
Feb 19 Python
基于python3 pyQt5 QtDesignner实现窗口化猜数字游戏功能
Jul 15 Python
Python嵌套函数,作用域与偏函数用法实例分析
Dec 26 Python
python+selenium定时爬取丁香园的新型冠状病毒数据并制作出类似的地图(部署到云服务器)
Feb 09 Python
python+opencv3.4.0 实现HOG+SVM行人检测的示例代码
Jan 28 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校验15位和18位身份证号的类封装
2018/11/07 PHP
PHP使用DOM对XML解析处理操作示例
2019/07/04 PHP
jQuery使用手册之一
2007/03/24 Javascript
flash调用js中的方法,让js传递变量给flash的办法及思路
2013/08/07 Javascript
js字符串转成JSON
2013/11/07 Javascript
js多功能分页组件layPage使用方法详解
2016/05/19 Javascript
用JS动态设置CSS样式常见方法小结(推荐)
2016/11/10 Javascript
Bootstrap基本组件学习笔记之下拉菜单(7)
2016/12/07 Javascript
Javascript blur与click冲突解决办法
2017/01/09 Javascript
JavaScript获取当前时间向前推三个月的方法示例
2017/02/04 Javascript
jquery uploadify如何取消已上传成功文件
2017/02/08 Javascript
简单实现js点击展开二级菜单功能
2017/05/16 Javascript
简单谈谈关于Angular Cli打包的事
2017/09/05 Javascript
详解ionic本地相册、拍照、裁剪、上传(单图完全版)
2017/10/10 Javascript
基于casperjs和resemble.js实现一个像素对比服务详解
2018/01/10 Javascript
vue实现pdf导出解决生成canvas模糊等问题(推荐)
2018/10/18 Javascript
js屏蔽退格键(backspace或者叫后退键与F5)
2019/02/10 Javascript
[05:08]DOTA2-DPC中国联赛3月6日Recap集锦
2021/03/11 DOTA
Python复制文件操作实例详解
2015/11/10 Python
简单谈谈Python流程控制语句
2016/12/04 Python
python实现基于SVM手写数字识别功能
2020/05/27 Python
Python cookbook(数据结构与算法)同时对数据做转换和换算处理操作示例
2018/03/23 Python
浅谈Pandas中map, applymap and apply的区别
2018/04/10 Python
Pycharm无法使用已经安装Selenium的解决方法
2018/10/13 Python
python 文本单词提取和词频统计的实例
2018/12/22 Python
Django应用程序入口WSGIHandler源码解析
2019/08/05 Python
Python 利用高德地图api实现经纬度与地址的批量转换
2019/08/14 Python
python接口调用已训练好的caffe模型测试分类方法
2019/08/26 Python
Python pip install如何修改默认下载路径
2020/04/29 Python
迪斯尼假期(欧洲、中东及非洲):Disney Holidays EMEA
2021/02/15 全球购物
介绍下Lucene建立索引的过程
2016/03/02 面试题
2014普法依法治理工作总结
2014/12/18 职场文书
医疗纠纷调解协议书
2015/08/06 职场文书
Python&Matlab实现灰狼优化算法的示例代码
2022/03/21 Python
MySQL创建管理子分区
2022/04/13 MySQL
Elasticsearch 数据类型及管理
2022/04/19 Python