python 字典代码_Python 字典(Dictionary)
Python 字典(Dictionary)
字典是另一种可变容器模型,且可存储任意类型对象。
字典的每个键值 key=>value 对用冒号 : 分割,每个键值对之间用逗号 , 分割,整个字典包括在花括号 {} 中 ,格式如下所示:
d= {key1:value1,key2:value2}
键一般是唯一的,如果重复最后的一个键值对会替换前面的,值不需要唯一。
>>>dict= {'a':1,'b':2,'b':'3'}
>>>dict['b']'3'>>>dict{'a':1,'b':'3'}
值可以取任何数据类型,但键必须是不可变的,如字符串,数字或元组。
一个简单的字典实例:
dict= {'Alice':'2341','Beth':'9102','Cecil':'3258'}
也可如此创建字典:
dict1= {'abc':456}dict2= {'abc':123,98.6:37}
访问字典里的值
把相应的键放入熟悉的方括弧,如下实例:
实例
#!/usr/bin/pythondict= {'Name':'Zara','Age':7,'Class':'First'}print"dict['Name']:",dict['Name']print"dict['Age']:",dict['Age']
以上实例输出结果:
dict['Name']: Zara
dict['Age']: 7
如果用字典里没有的键访问数据,会输出错误如下:
实例
#!/usr/bin/pythondict= {'Name':'Zara','Age':7,'Class':'First'}print"dict['Alice']:",dict['Alice']
以上实例输出结果:
dict['Alice']:
Traceback (most recent call last):
File "test.py", line 5, in
print "dict['Alice']: ", dict['Alice']
KeyError: 'Alice'
修改字典
向字典添加新内容的方法是增加新的键/值对,修改或删除已有键/值对如下实例:
实例
#!/usr/bin/pythondict= {'Name':'Zara','Age':7,'Class':'First'}dict['Age']=8# 更新dict['School']="CODEXY"# 添加print"dict['Age']:",dict['Age']print"dict['School']:",dict['School']
以上实例输出结果:
dict['Age']: 8
dict['School']: CODEXY
删除字典元素
能删单一的元素也能清空字典,清空只需一项操作。
显示删除一个字典用del命令,如下实例:
实例
#!/usr/bin/python# -*- coding: UTF-8 -*-dict= {'Name':'Zara','Age':7,'Class':'First'}deldict['Name']# 删除键是'Name'的条目dict.clear()# 清空词典所有条目deldict# 删除词典print"dict['Age']:",dict['Age']print"dict['School']:",dict['School']
但这会引发一个异常,因为用del后字典不再存在:
dict['Age']:
Traceback (most recent call last):
File "test.py", line 8, in
print "dict['Age']: ", dict['Age']
TypeError: 'type' object is unsubscriptable
注:del()方法后面也会讨论。
字典键的特性
字典值可以没有限制地取任何python对象,既可以是标准的对象,也可以是用户定义的,但键不行。
两个重要的点需要记住:
1)不允许同一个键出现两次。创建时如果同一个键被赋值两次,后一个值会被记住,如下实例:
实例
#!/usr/bin/pythondict= {'Name':'Zara','Age':7,'Name':'Manni'}print"dict['Name']:",dict['Name']
以上实例输出结果:
dict['Name']: Manni
2)键必须不可变,所以可以用数字,字符串或元组充当,所以用列表就不行,如下实例:
实例
#!/usr/bin/pythondict= {['Name']:'Zara','Age':7}print"dict['Name']:",dict['Name']
以上实例输出结果:
Traceback (most recent call last):
File "test.py", line 3, in
dict = {['Name']: 'Zara', 'Age': 7}
TypeError: list objects are unhashable
字典内置函数&方法
Python字典包含了以下内置函数:
序号函数及描述
2len(dict)
计算字典元素个数,即键的总数。
3str(dict)
输出字典可打印的字符串表示。
4type(variable)
返回输入的变量类型,如果变量是字典就返回字典类型。
Python字典包含了以下内置方法:
序号函数及描述
2
3dict.fromkeys(seq[, val])
创建一个新字典,以序列 seq 中元素做字典的键,val 为字典所有键对应的初始值
4
5dict.has_key(key)
如果键在字典dict里返回true,否则返回false
6dict.items()
以列表返回可遍历的(键, 值) 元组数组
7dict.keys()
以列表返回一个字典所有的键
8dict.setdefault(key, default=None)
和get()类似, 但如果键不存在于字典中,将会添加键并将值设为default
9dict.update(dict2)
把字典dict2的键/值对更新到dict里
10
11pop(key[,default])
删除字典给定键 key 所对应的值,返回值为被删除的值。key值必须给出。
否则,返回default值。
12popitem()
随机返回并删除字典中的一对键和值。
python 字典代码_Python 字典(Dictionary)相关推荐
- [转载] python单词词典_Python 字典(Dictionary)
参考链接: Python字典dictionary clear方法 Python 字典(Dictionary) 字典是另一种可变容器模型,且可存储任意类型对象. 字典的每个键值(key=>valu ...
- python 字典代码_python的字典
字典(dictionary)是除列表意外python之中最灵活的内置数据结构类型.列表是有序的对象结合,字典是无序的对象集合.两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取. ...
- python 字典程序_Python 字典(Dictionary)操作详解
Python字典是另一种可变容器模型,且可存储任意类型对象,如字符串.数字.元组等其他容器模型. 一.创建字典 字典由键和对应值成对组成.字典也被称作关联数组或哈希表.基本语法如下: dict = { ...
- python汉语词典_Python 字典(Dictionary)
Python 字典(Dictionary) 字典是另一种可变容器模型,且可存储任意类型对象. 字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在 ...
- python嵌套字典代码_python – 尝试在嵌套字典中查找唯一值的总和. (见例子!)
假设我有这个变量list_1,它是一个字典列表. 每个字典都有一个名为"group"的嵌套字典,其中包含一些信息,包括"name". 我要做的是总结每个唯一组名 ...
- python编程词典_Python 字典(Dictionary)操作详解
Python字典是另一种可变容器模型,且可存储任意类型对象,如字符串.数字.元组等其他容器模型. 一.创建字典 字典由键和对应值成对组成.字典也被称作关联数组或哈希表.基本语法如下: dict = { ...
- python字典拷贝_python字典复制
python学习系列--深拷贝和浅拷贝 概念 普通情况下,复制一个对象是不会新开辟内存空间的,只是把新的对象名称指向原有的内存地址,这种操作其实不是算是拷贝,只是新的引用.把新的对象置于新的内存空间中 ...
- python字典成绩_python字典总结
今天总结一篇关于字典的知识点> 字典也是python提供的一种常用的数据结构,它用于存放具有映射关系的数据 比如成绩表,语文:34,数学:99,如果单纯的使用两个列表保存这组数据,则无法记录两组 ...
- python嵌套字典读取_python 字典,字典嵌套,字典遍历
字典(Dictionary)操作详解 字典为键值的形式,一个键对应一个值 Python字典是另一种可变容器模型,且可存储任意类型对象,如字符串.数字.元组等其他容器模型. 一.创建字典 字典由键和对应 ...
最新文章
- 基于贝叶斯算法实现简单的分类(java)
- python中calendar怎么用_Python时间模块datetime、time、calendar的使用方法
- AndroidStudio更换黑色主题方法
- Eclipse 创建 Java 包
- 理解矩阵 的一些评论
- 位掩码(bitmask)在windows 串口事件驱动中的应用
- 关于Android Force Close 出现的原因 以及解决方法
- 在架设网站服务器时,实习实习报告网站服务器架设.doc
- BootstrapBlazor 之王者组件 Table
- ajax 错误信息error,jquery ajax的error错误信息
- 快速排序思路(前后指针版),代码实现
- HashMap底层查找的时间复杂度
- Springboot vue.js html 跨域 前后分离 Activiti6 shiro 权限
- 远程机器上无法用Assembly.Load(path).CreateInstance(ClassName)?
- C#之CAD二次开发笔记(1) 开发环境测试
- 《GO语言圣经》学习初感与建议
- c语言tap位置什么意思,CTAP是什么意思
- 微信pc端window10多开应用
- SAP第四代增强 BTE
- Docker 入门(二)常用命令纯手敲带测试结果