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)相关推荐

  1. [转载] python单词词典_Python 字典(Dictionary)

    参考链接: Python字典dictionary clear方法 Python 字典(Dictionary) 字典是另一种可变容器模型,且可存储任意类型对象. 字典的每个键值(key=>valu ...

  2. python 字典代码_python的字典

    字典(dictionary)是除列表意外python之中最灵活的内置数据结构类型.列表是有序的对象结合,字典是无序的对象集合.两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取. ...

  3. python 字典程序_Python 字典(Dictionary)操作详解

    Python字典是另一种可变容器模型,且可存储任意类型对象,如字符串.数字.元组等其他容器模型. 一.创建字典 字典由键和对应值成对组成.字典也被称作关联数组或哈希表.基本语法如下: dict = { ...

  4. python汉语词典_Python 字典(Dictionary)

    Python 字典(Dictionary) 字典是另一种可变容器模型,且可存储任意类型对象. 字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在 ...

  5. python嵌套字典代码_python – 尝试在嵌套字典中查找唯一值的总和. (见例子!)

    假设我有这个变量list_1,它是一个字典列表. 每个字典都有一个名为"group"的嵌套字典,其中包含一些信息,包括"name". 我要做的是总结每个唯一组名 ...

  6. python编程词典_Python 字典(Dictionary)操作详解

    Python字典是另一种可变容器模型,且可存储任意类型对象,如字符串.数字.元组等其他容器模型. 一.创建字典 字典由键和对应值成对组成.字典也被称作关联数组或哈希表.基本语法如下: dict = { ...

  7. python字典拷贝_python字典复制

    python学习系列--深拷贝和浅拷贝 概念 普通情况下,复制一个对象是不会新开辟内存空间的,只是把新的对象名称指向原有的内存地址,这种操作其实不是算是拷贝,只是新的引用.把新的对象置于新的内存空间中 ...

  8. python字典成绩_python字典总结

    今天总结一篇关于字典的知识点> 字典也是python提供的一种常用的数据结构,它用于存放具有映射关系的数据 比如成绩表,语文:34,数学:99,如果单纯的使用两个列表保存这组数据,则无法记录两组 ...

  9. python嵌套字典读取_python 字典,字典嵌套,字典遍历

    字典(Dictionary)操作详解 字典为键值的形式,一个键对应一个值 Python字典是另一种可变容器模型,且可存储任意类型对象,如字符串.数字.元组等其他容器模型. 一.创建字典 字典由键和对应 ...

最新文章

  1. 基于贝叶斯算法实现简单的分类(java)
  2. python中calendar怎么用_Python时间模块datetime、time、calendar的使用方法
  3. AndroidStudio更换黑色主题方法
  4. Eclipse 创建 Java 包
  5. 理解矩阵 的一些评论
  6. 位掩码(bitmask)在windows 串口事件驱动中的应用
  7. 关于Android Force Close 出现的原因 以及解决方法
  8. 在架设网站服务器时,实习实习报告网站服务器架设.doc
  9. BootstrapBlazor 之王者组件 Table
  10. ajax 错误信息error,jquery ajax的error错误信息
  11. 快速排序思路(前后指针版),代码实现
  12. HashMap底层查找的时间复杂度
  13. Springboot vue.js html 跨域 前后分离 Activiti6 shiro 权限
  14. 远程机器上无法用Assembly.Load(path).CreateInstance(ClassName)?
  15. C#之CAD二次开发笔记(1) 开发环境测试
  16. 《GO语言圣经》学习初感与建议
  17. c语言tap位置什么意思,CTAP是什么意思
  18. 微信pc端window10多开应用
  19. SAP第四代增强 BTE
  20. Docker 入门(二)常用命令纯手敲带测试结果

热门文章

  1. 理解shared_ptrT
  2. 运行BU,利用矿工投票机制寻求BCH升级方案
  3. RDS读写分离,海量数据一键搞定
  4. 删除windows7的隐藏分区
  5. zookeeper安装和使用 windows环境(转)
  6. 基于开源、混合云 惠普Helion开年3款新品发布
  7. 虚拟化--YESLAB DC Vphere5 上课PDF
  8. css页面重构面试题
  9. 命令行下编译Wordcount
  10. Microsoft Remote Desktop移动客户端QA