Python3 字典类型

译者:anxin
日期:2017-10-30

dict(字典)类型是mapping(映像类型)的一个子类也是唯一一个子类,字典(dict)类型是一个可变数据类型,它的每一个元素都是一个键/值对(key=>value)。字典类型和其他语言中关系数组相似。

字典( dict )是一个复合数据类型,用于将其他值组合在一起。

Python3 定义字典

Python3的字典使用花括号定义,各个元素使用逗号,分开,每个元素的键/值使用:分开。Python3 字典中的元素的键/值可以是任意数据类型(但必须能哈希化),但一般使用数字类型或字符串类型;字典元素的值可以是任意数据类型。

#定义一个字典
>>> dic1 = {'one': 1, 'two': 2, 3: 'three'}
>>> dic1
{'one': 1, 'two': 2, 3: 'three'}

定义一个空字典

>>> dic = {}

Python3 访问字典元素

1)Python3 字典(dict)的元素是由键/值对组成,可以使用元素的键(key)访问元素

>>> dic = {'one': 1, 'two': 2, 'three': 3}
>>> dic['one']
1

当键(key)在字典中不存在时,会抛出一个KeyError错误

>>> dic = {'one': 1, 'two': 2, 'three': 3}
>>> dic['four']
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
KeyError: 'four'

2)Python3 使用字典的方法get(key[, default])获取元素的值,当指定键的元素存在时,返回元素的值,如果键不存在则返回提供的default值,如果没有提供default值,那么默认返回None,即这个方法不会抛出KeyError错误。

>>> dic = {'one': 1, 'two': 2, 'three': 3}
>>> dic.get('two')
2
>>> dic.get('four')    //返回None
>>>

Python3 添加修改字典元素

1)Python3 字典(dict)的元素是由键/值对组成,可以使用元素的键(key)修改元素的值

>>> dic = {'one': 1, 'two': 2, 'three': 3}
>>> dic['one'] = '1111'
>>> dic['one']
'1111'

2)如果使用的键(key)在字典中不存在,则会添加这个键/值对元素

>>> dic = {'one': 1, 'two': 2, 'three': 3}
>>> dic['four'] = 4
>>> dic
{'one': 1, 'two': 2, 'three': 3, 'four': 4}

在如上字典中添加了'four': 4字典元素

Python3 删除字典元素

1)Python3 删除元素使用del关键字

>>> dic = {'one': 1, 'two': 2, 'three': 3}
>>> del dic['three']
>>> dic
{'one': 1, 'two': 2}

2)Python3 使用字典的方法pop(key[, default])删除元素,并返回元素的值,如果元素不存在则返回default的值,如果键和default都不提供,则会抛出KeyError错误。

>>> dic = {'one': 1, 'two': 2, 'three': 3}
>>> dic.pop('two')
2
>>> dic
{'one': 1, 'three': 3}

3)可以使用字典的方法clear()删除字典中的所有元素

>>> dic = {'one': 1, 'two': 2, 'three': 3}
>>> dic.clear()
>>> dic
{}

使用字典的clear()方法后,字典是一个空字典。

Python3 字典的其他操作

Python3字典支持的其他操作如下:

操作 结果
len(dic) 获取字典dic的元素的个数
key in dic 如果字典中存在键key,为True,否则为False
key not in dic 如果字典中不存在键key,为True,否则为False
dic.keys() 返回元素键的字典视图对象
dic.values() 返回元素值的字典视图对象
dic.items() 返回元素键/值对(key, value)的字典视图对象
dic.update(other) 把other中的键/值对,添加到dic字典中
本文链接:/tutorial/python3/python3-dictionary

本文版权归知站所有,未经站长同意不得转载,谢谢尊重作者劳动成果!