python菜鸟教程字典-Python3 字典
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 字典相关推荐
- python 菜鸟-python菜鸟教程
广告关闭 2017年12月,云+社区对外发布,从最开始的技术博客到现在拥有多个社区产品.未来,我们一起乘风破浪,创造无限可能. 除了常见的循环控制语句,python 中还有if,if else和if ...
- Python学习教程:Python3内置模块之base64编解码方法小结
Python学习教程:Python3内置模块之base64编解码方法小结 概述 Base64 是网络上最常见的用于传输 8Bit 字节码的编码方式之一,Base64 就是一种基于 64 个可打印字符来 ...
- python菜鸟教程官网pandas,python菜鸟教程官网numpy
求比较好的Python练习网站 适合 Python 入门学习的5个网站1. Python官方网站最权威的 Python 教程.2. 菜鸟教程 Python 教程基本入门级教程,还有一些简单的进阶教程. ...
- python菜鸟教程100实例-运维人员学习python菜鸟教程
这篇文章主要为大家详细介绍了运维人员学习python菜鸟教程,具有一定的参考价值,可以用来参考一下. 对python这个高级语言感兴趣的小伙伴,下面一起跟随512笔记的小编两巴掌来看看吧! 从不会写代 ...
- python菜鸟教程字典-python教程菜鸟教程学习路线
python教程菜鸟教程学习路线,需要学Python 环境搭建.Python 中文编码.Python 基础语法.Python 变量类型.Python 运算符.Python 条件语句.Python 循环 ...
- python菜鸟教程-Python3 函数
Python3 函数 函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段. 函数能提高应用的模块性,和代码的重复利用率.你已经知道Python提供了许多内建函数,比如print().但你 ...
- python菜鸟教程shell_[python小白]菜鸟教程---
pycharm竟然是idea大家族里面的,汉化之后不知道比my.eclipse高明到哪里去了.https://blog.csdn.net/pingfangx/article/details/78826 ...
- python菜鸟教程学习:数据结构
列表方法 list.append(x):把一个元素添加到列表的结尾,相当于 a[len(a):] = [x]. list.extend(L):通过添加指定列表的所有元素来扩充列表,相当于 a[len( ...
- python菜鸟教程h-python菜鸟教程,python好玩又简单的代码
如果是零基础的话推荐你看以下几本书,入门来说都还不错:"笨办法"学Python(第3版)HeadFirstPython(中文版)父与子的编程之旅:与小卡特一起学Python pyt ...
最新文章
- 【C++快读快输详解(快速读入数字,快速输出数字)】
- VM虚拟机常见问题之五--网络相关的问题
- Python面试基础题-2018-12-26
- grep 显示搜索的关键字相关的行信息
- linux修改挂载目录名字,linux下修改mount挂载目录名
- python 函数参数类型判断(判断类型)
- vs2010 在svn上传东西的时候 出现一个错误 An internal occurred 值不在预期范围内 要如何解决呢?...
- mysql建表影响效率_关于MySQL建表对DML的影响【转】
- Javascript第六章闭包closure规则第三课
- 【手写数字识别】基于matlab GUI BP神经网络手写数字识别【含Matlab源码 1118期】
- 【应用统计学】简单随机抽样的区间估计和样本容量的确定
- 丹佛斯变频器al14故障代码_丹佛斯变频器故障说明
- 计算机专业120分,【哈尔滨工业大学,专业课120分】跟你唠点真情实感。
- \int_0^{+\infty} \frac{\sin x}{x}\mathop{}\!\mathrm{d}{x}
- Android4.4 状态栏WiFi图标显示流程
- RabbitMQ(13)RabbitMQ高级特性:TTL
- 创建 Swift 自定义集合类
- 什么是项目ERP系统?
- 美可汗学院因用户基数过小决定移除其在Windows上的软件
- 暗时间----有感而发