Python3 基本数据类型之Dictionary

Dictionary(字典)

字典(dictionary)是Python中另一个非常有用的内置数据类型。

列表是有序的对象集合,字典是无序的对象集合。两者之间的区别在于:字典当中的元素是通过键来存取的,而不是通过偏移存取。

字典是一种映射类型,字典用"{ }"标识,它是一个无序的键(key) : 值(value)对集合。

键(key)必须使用不可变类型。

在同一个字典中,键(key)必须是唯一的。

#!/usr/bin/python3

dict= {}

dict['one']="1 -菜鸟教程"

dict[2]="2 -菜鸟工具"

print(dict['one'])#输出键为 'one' 的值

print(dict[2])#输出键为 2 的值

print(tinydict)#输出完整的字典

print(tinydict.keys())#输出所有键

print(tinydict.values())#输出所有值

以上实例输出结果:

1-菜鸟教程

2-菜鸟工具

dict_keys(['name','code','site'])

构造函数 dict() 可以直接从键值对序列中构建字典如下:

>>>dict([(oops,1),('Google',2),('Taobao',3)])

{'Taobao':3,oops:1,'Google':2}

>>> {x:x**2forxin(2,4,6)}

{2:4,4:16,6:36}

>>>dict(Oop=1,Google=2,Taobao=3)

{'Taobao':3,oops:1,'Google':2}

另外,字典类型也有一些内置的函数,例如clear()、keys()、values()等。

注意:

·1、字典是一种映射类型,它的元素是键值对。

·2、字典的关键字必须为不可变类型,且不能重复。

·3、创建空字典使用{ }

访问字典里的值

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

#!/usr/bin/python3

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

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

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

以上实例输出结果:

dict['Name']:Oop

dict['Age']:7

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

#!/usr/bin/python3

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

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

以上实例输出结果:

Traceback(most recent calllast):

File"test.py",line5,in

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

KeyError:'Alice'

修改字典

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

#!/usr/bin/python3

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

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

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

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

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

以上实例输出结果:

dict['Age']:8

dict['School']:菜鸟教程

删除字典元素

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

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

#!/usr/bin/python3

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

deldict['Name']#删除键 'Name'

dict.clear()#清空字典

deldict#删除字典

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

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

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

Traceback(most recent calllast):

File"test.py",line9,in

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

TypeError:'type'objectisnotsubscriptable

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

字典键的特性

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

两个重要的点需要记住:

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

#!/usr/bin/python3

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

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

以上实例输出结果:

dict['Name']:小菜鸟

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

#!/usr/bin/python3

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

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

以上实例输出结果:

Traceback(most recent calllast):

File"test.py",line3,in

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

TypeError:unhashable type:'list'

字典内置函数&方法

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

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

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180917G080XA00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券