Python3 字典

字典是另一种可变容器模型,且可存储任意类型对象。

字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({})中 ,格式如下所示:

d = {key1 : value1, key2 : value2 }

键必须是唯一的,但值则不必。

值可以取任何数据类型,但键必须是不可变的,如字符串,数字或元组。

一个简单的字典实例:

dict = {'Alice': '2341', 'Beth': '9102', 'Cecil': '3258'}

也可如此创建字典:

dict1 = { 'abc': 456 };

dict2 = { 'abc': 123, 98.6: 37 };

访问字典里的值

把相应的键放入熟悉的方括弧,如下实例:

#!/usr/bin/python3

dict = {'Name': 'W3CSchool', 'Age': 7, 'Class': 'First'}

print ("dict['Name']: ", dict['Name'])

print ("dict['Age']: ", dict['Age'])

以上实例输出结果:

dict['Name']: W3CSchool

dict['Age']: 7

如果用字典里没有的键访问数据,会输出错误如下:

#!/usr/bin/python3

dict = {'Name': 'W3CSchool', 'Age': 7, 'Class': 'First'};

print ("dict['Alice']: ", dict['Alice'])

以上实例输出结果:

Traceback (most recent call last):

File "test.py", line 5, in

print ("dict['Alice']: ", dict['Alice'])

KeyError: 'Alice'

修改字典

向字典添加新内容的方法是增加新的键/值对,修改或删除已有键/值对如下实例:

#!/usr/bin/python3

dict = {'Name': 'W3CSchool', 'Age': 7, 'Class': 'First'}

dict['Age'] = 8; # 更新 Age

dict['School'] = "W3Cschool教程" # 添加信息

print ("dict['Age']: ", dict['Age'])

print ("dict['School']: ", dict['School'])

以上实例输出结果:

dict['Age']: 8

dict['School']: W3Cschool教程

删除字典元素

能删单一的元素也能清空字典,清空只需一项操作。

显示删除一个字典用del命令,如下实例:

#!/usr/bin/python3

dict = {'Name': 'W3CSchool', 'Age': 7, 'Class': 'First'}

del dict['Name'] # 删除键 'Name'

dict.clear() # 删除字典

del dict # 删除字典

print ("dict['Age']: ", dict['Age'])

print ("dict['School']: ", dict['School'])

但这会引发一个异常,因为用执行 del 操作后字典不再存在:

Traceback (most recent call last):

File "test.py", line 9, in

print ("dict['Age']: ", dict['Age'])

TypeError: 'type' object is not subscriptable

字典键的特性

字典值可以没有限制地取任何python对象,既可以是标准的对象,也可以是用户定义的,但键不行。

两个重要的点需要记住:

1)不允许同一个键出现两次。创建时如果同一个键被赋值两次,后一个值会被记住,如下实例:

#!/usr/bin/python3

dict = {'Name': 'W3CSchool', 'Age': 7, 'Name': '小菜鸟'}

print ("dict['Name']: ", dict['Name'])

以上实例输出结果:

dict['Name']: 小菜鸟

2)键必须不可变,所以可以用数字,字符串或元组充当,而用列表就不行,如下实例:

#!/usr/bin/python3

dict = {['Name']: 'W3CSchool', 'Age': 7}

print ("dict['Name']: ", dict['Name'])

以上实例输出结果:

Traceback (most recent call last):

File "test.py", line 3, in

dict = {['Name']: 'W3CSchool', 'Age': 7}

TypeError: unhashable type: 'list'

字典内置函数&方法

Python字典包含了以下内置函数:

序号

函数

描述

1

len(dict)

计算字典元素个数,即键的总数。

2

str(dict)

输出字典以可打印的字符串表示。

3

type(variable)

返回输入的变量类型,如果变量是字典就返回字典类型。

Python字典包含了以下内置方法:

序号

函数

描述

1

radiansdict.clear()

删除字典内所有元素

2

radiansdict.copy()

返回一个字典的浅复制

3

radiansdict.fromkeys()

创建一个新字典,以序列seq中元素做字典的键,val为字典所有键对应的初始值

4

radiansdict.get(key, default=None)

返回指定键的值,如果值不在字典中返回default值

5

key in dict

如果键在字典dict里返回true,否则返回false

6

radiansdict.items()

以列表返回可遍历的(键, 值) 元组数组

7

radiansdict.keys()

以列表返回一个字典所有的键

8

radiansdict.setdefault(key, default=None)

和get()类似, 但如果键不存在于字典中,将会添加键并将值设为default

9

radiansdict.update(dict2)

把字典dict2的键/值对更新到dict里

10

radiansdict.values()

以列表返回字典中的所有值

python 在线字典_python3相关推荐

  1. python在线速查手册

    安利一门Python超级好课! <Python大数据搜索> 扫码下单输优惠码[csdnfxzs]再减5元,比官网还便宜! 或 点击下面网址,再减5元,比官网还便宜! https://mar ...

  2. 如何用Python下载在线字典上的单词或者短语mp3

    最近在研究Python的批量下载功能,以前的做法是读取txt文本中的单词列表,然后拼接网址,利用wget下载下来.这种方法固然不错,但是我们通常是把单词放在了Excel里面,那么如何实现读取Excel ...

  3. 白月黑羽教python_白月黑羽Python在线教程

    推荐白月黑羽Python在线教程 白月黑羽 站在初学者的角度为大家安排了Python学习教程,帮助大家迅速掌握程序开发技能. http://www.python3.vip/doc/tutorial/p ...

  4. python 在线教程-python教程在线

    广告关闭 腾讯云双11爆品提前享,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高满返5000元! 使用步骤在 cvm 上部署好 python 环境及 python-memcache ...

  5. 白月黑羽python_白月黑羽Python在线教程

    推荐白月黑羽Python在线教程 白月黑羽 站在初学者的角度为大家安排了Python学习教程,帮助大家迅速掌握程序开发技能. http://www.python3.vip/doc/tutorial/p ...

  6. python 判断字典是否包含某个key,以及对应的value 值

    python 判断字典是否包含某个key 可以使用 in 来判断 具体如下: num = {"a": 1, "b": 2, "c": 3} ...

  7. python嵌套字典取值_python嵌套字典比较值与取值的实现示例

    python嵌套字典比较值与取值的实现示例 本文通过示例给大家介绍了python嵌套字典比较值,取值,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧. 示例代码 #取值import t ...

  8. python实现字典遍历稳定有序使用collection包OrderedDict

    python实现字典遍历稳定有序使用collection包OrderedDict **注意虽然python3.6之后,dict本身也会保留插入的顺序,但是并不是严格保证的: Python3.6中的字典 ...

  9. python 遍历字典

    python 遍历字典 d = {'a': 1, 'b': 2, 'c': 3, 4: 'd', 5: 'e'} for key in d:print(key, ":", d[ke ...

最新文章

  1. 对话谢宝友:搞真正自研的国产操作系统,而不是伪创新
  2. Java并发编程:CopyOnWrite容器的实现
  3. 可打开可关闭的选项卡,单纯无污染,改改样式就能用
  4. 屏蔽 iOS 系统自动更新
  5. eclipse创建maven多模块项目(单个类似)
  6. nmcli 命令的基本使用
  7. 用python控制键盘_【python黑科技-pyautogui】教你用python控制滑鼠与键盘
  8. 运用数组,输出从小到大的10个数
  9. 中国IT人,你们是否从没想过开发一款伟大的产品?
  10. IO-01-字节流与字符流
  11. Java实现第三方短信接口发送短信验证码
  12. rba有哪几個主要組成部分_RBA管理体系有哪些
  13. android解析xml nbsp报错,Android Studio 3 AndroidManifest.xml报错error: unknown eleme
  14. 数据库 -- 基础操作(二)
  15. vuex 状态管理模式 + 库(大仓库与小仓库)
  16. sRGB转CIEXYZ转CIELAB,以及色彩距离
  17. Python高级编程——13.垃圾回收机制
  18. 政务服务一网通办建设方案(ppt)
  19. Python 编程辅助工具--ipython
  20. 优秀,是一种生活态度

热门文章

  1. 2021年上犹中学高考成绩查询入口,上犹县2019年高考成绩单出来了……
  2. php面向对象魔术方法,PHP面向对象中的魔术方法
  3. 数据 3 分钟 | Oracle 首度失去榜首位置、PingCAP 发布 TiDB 荣耀体验官活动、华为召开开发者大会 2021
  4. 今晚直播丨手把手安装搭建GoldenDB
  5. MySQL 分页优化中的 “ INNER JOIN方式优化分页算法 ” 到底在什么情况下会生效?
  6. 震惊,PostGIS还可以这样用!!!
  7. 自定义TBE算子入门,不妨从单算子开发开始
  8. 一起来学习丨听海华大赛第一名团队聊比赛经验和心得
  9. 这个 Python 库有必要好好学学
  10. 【华为云技术分享】【DevCloud · 敏捷智库】项目团队人员变动频繁,如何对新人进行有效培养和管理?