Python3 字典

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

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

d = {key1 : value1, key2 : value2, key3 : value3 }

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

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

一个简单的字典实例:

dict = {'name': 'runoob', 'likes': 123, 'url': 'www.runoob.com'}

也可如此创建字典:

dict1 = { 'abc': 456 }

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

访问字典里的值

把相应的键放入到方括号中,如下实例:

实例

#!/usr/bin/python3dict= {'Name':'Runoob','Age':7,'Class':'First'}print("dict['Name']:",dict['Name'])print("dict['Age']:",dict['Age'])

以上实例输出结果:

dict['Name']: Runoob

dict['Age']: 7

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

实例

#!/usr/bin/python3dict= {'Name':'Runoob','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/python3dict= {'Name':'Runoob','Age':7,'Class':'First'}dict['Age']=8# 更新 Agedict['School']="菜鸟教程"# 添加信息print("dict['Age']:",dict['Age'])print("dict['School']:",dict['School'])

以上实例输出结果:

dict['Age']: 8

dict['School']: 菜鸟教程

删除字典元素

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

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

实例

#!/usr/bin/python3dict= {'Name':'Runoob','Age':7,'Class':'First'}deldict['Name']# 删除键 'Name'dict.clear()# 清空字典deldict# 删除字典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

注:del() 方法后面也会讨论。

字典键的特性

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

两个重要的点需要记住:

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

实例

#!/usr/bin/python3dict= {'Name':'Runoob','Age':7,'Name':'小菜鸟'}print("dict['Name']:",dict['Name'])

以上实例输出结果:

dict['Name']: 小菜鸟

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

实例

#!/usr/bin/python3dict= {['Name']:'Runoob','Age':7}print("dict['Name']:",dict['Name'])

以上实例输出结果:

Traceback (most recent call last):

File "test.py", line 3, in

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

TypeError: unhashable type: 'list'

字典内置函数&方法

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

序号函数及描述实例

1len(dict)

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

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

>>> len(dict)

3

2str(dict)

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

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

>>> str(dict)

"{'Name': 'Runoob', 'Class': 'First', 'Age': 7}"

3type(variable)

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

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

>>> type(dict)

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

序号函数及描述

3radiansdict.fromkeys()

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

4

5key in dict

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

6radiansdict.items()

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

7radiansdict.keys()

返回一个迭代器,可以使用 list() 来转换为列表

10radiansdict.values()

返回一个迭代器,可以使用 list() 来转换为列表

11pop(key[,default])

删除字典给定键 key 所对应的值,返回值为被删除的值。key值必须给出。

否则,返回default值。

12popitem()

随机返回并删除字典中的最后一对键和值。

x = True

country_counter = {}

def addone(country):

if country in country_counter:

country_counter[country] += 1

else:

country_counter[country] = 1

addone('China')

addone('Japan')

addone('china')

print(len(country_counter))

confusion = {}

confusion[1] = 1

confusion['1'] = 2

confusion[1] += 1

sum = 0

for k in confusion:

sum += confusion[k]

print(sum)

python菜鸟教程字典-Python3 字典相关推荐

  1. python 菜鸟-python菜鸟教程

    广告关闭 2017年12月,云+社区对外发布,从最开始的技术博客到现在拥有多个社区产品.未来,我们一起乘风破浪,创造无限可能. 除了常见的循环控制语句,python 中还有if,if else和if ...

  2. Python学习教程:Python3内置模块之base64编解码方法小结

    Python学习教程:Python3内置模块之base64编解码方法小结 概述 Base64 是网络上最常见的用于传输 8Bit 字节码的编码方式之一,Base64 就是一种基于 64 个可打印字符来 ...

  3. python菜鸟教程官网pandas,python菜鸟教程官网numpy

    求比较好的Python练习网站 适合 Python 入门学习的5个网站1. Python官方网站最权威的 Python 教程.2. 菜鸟教程 Python 教程基本入门级教程,还有一些简单的进阶教程. ...

  4. python菜鸟教程100实例-运维人员学习python菜鸟教程

    这篇文章主要为大家详细介绍了运维人员学习python菜鸟教程,具有一定的参考价值,可以用来参考一下. 对python这个高级语言感兴趣的小伙伴,下面一起跟随512笔记的小编两巴掌来看看吧! 从不会写代 ...

  5. python菜鸟教程字典-python教程菜鸟教程学习路线

    python教程菜鸟教程学习路线,需要学Python 环境搭建.Python 中文编码.Python 基础语法.Python 变量类型.Python 运算符.Python 条件语句.Python 循环 ...

  6. python菜鸟教程-Python3 函数

    Python3 函数 函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段. 函数能提高应用的模块性,和代码的重复利用率.你已经知道Python提供了许多内建函数,比如print().但你 ...

  7. python菜鸟教程shell_[python小白]菜鸟教程---

    pycharm竟然是idea大家族里面的,汉化之后不知道比my.eclipse高明到哪里去了.https://blog.csdn.net/pingfangx/article/details/78826 ...

  8. python菜鸟教程学习:数据结构

    列表方法 list.append(x):把一个元素添加到列表的结尾,相当于 a[len(a):] = [x]. list.extend(L):通过添加指定列表的所有元素来扩充列表,相当于 a[len( ...

  9. python菜鸟教程h-python菜鸟教程,python好玩又简单的代码

    如果是零基础的话推荐你看以下几本书,入门来说都还不错:"笨办法"学Python(第3版)HeadFirstPython(中文版)父与子的编程之旅:与小卡特一起学Python pyt ...

最新文章

  1. 【C++快读快输详解(快速读入数字,快速输出数字)】
  2. VM虚拟机常见问题之五--网络相关的问题
  3. Python面试基础题-2018-12-26
  4. grep 显示搜索的关键字相关的行信息
  5. linux修改挂载目录名字,linux下修改mount挂载目录名
  6. python 函数参数类型判断(判断类型)
  7. vs2010 在svn上传东西的时候 出现一个错误 An internal occurred 值不在预期范围内 要如何解决呢?...
  8. mysql建表影响效率_关于MySQL建表对DML的影响【转】
  9. Javascript第六章闭包closure规则第三课
  10. 【手写数字识别】基于matlab GUI BP神经网络手写数字识别【含Matlab源码 1118期】
  11. 【应用统计学】简单随机抽样的区间估计和样本容量的确定
  12. 丹佛斯变频器al14故障代码_丹佛斯变频器故障说明
  13. 计算机专业120分,【哈尔滨工业大学,专业课120分】跟你唠点真情实感。
  14. \int_0^{+\infty} \frac{\sin x}{x}\mathop{}\!\mathrm{d}{x}
  15. Android4.4 状态栏WiFi图标显示流程
  16. RabbitMQ(13)RabbitMQ高级特性:TTL
  17. 创建 Swift 自定义集合类
  18. 什么是项目ERP系统?
  19. 美可汗学院因用户基数过小决定移除其在Windows上的软件
  20. 暗时间----有感而发

热门文章

  1. Golang代码实现HTTPs(HTTPS证书生成和部署)
  2. streaming优化:spark.default.parallelism调整处理并行度
  3. Javascript中匿名函数的多种调用方式
  4. VSTO之旅系列(一):VSTO入门
  5. [pytorch] 官网教程+注释
  6. MAC安装iterm2及配置
  7. 【职业规划和代码库设计】
  8. asp.net core mvc权限控制:在视图中控制操作权限
  9. Spring Integration学习资料
  10. AJAX+JQUERRY实现分页