Python 中的字典是一种可变的、无序的数据类型,用于存储键值对(key-value)的数据结构。字典的特点在于可以快速的查找和修改键值对的值,是一种非常灵活、方便的数据结构。
字典类型是 Python 中唯一的映射类型。“映射”是数学中的术语,简单理解,它指的是元素之间相互对应的关系,即通过一个元素,可以唯一找到另一个元素。
字典类型所具有的主要特征如下表所示:
主要特征 | 解释 |
---|---|
通过键而不是通过索引来读取元素 | 字典类型有时也称为关联数组或者散列表(hash)。它是通过键将一系列的值联系起来的,这样就可以通过键从字典中获取指定项,但不能通过索引来获取。 |
字典是任意数据类型的无序集合 | 和列表、元组不同,通常会将索引值 0 对应的元素称为第一个元素,而字典中的元素是无序的。 |
字典是可变的,并且可以任意嵌套 | 字典可以在原处增长或者缩短(无需生成一个副本),并且它支持任意深度的嵌套,即字典存储的值也可以是列表或其它的字典。 |
字典中的键必须唯一 | 字典中,不支持同一个键出现多次,否则只会保留最后一个键值对。 |
字典中的键必须不可变 | 字典中每个键值对的键是不可变的,只能使用数字、字符串或者元组,不能使用列表。 |
Python 创建字典
1.使用字典字面量
在Python中,字典字面量的语法为{key1: value1, key2: value2, ……, keyn: valuen}。语法如下:dict = {key1: value1, key2: value2, ……, keyn: valuen}
.
例如:
>>> dict = {'Name': 'Tom', 'Age': 18, 'Country': 'USA'}
>>> print(dict)
{'Name': 'Tom', 'Age': 18, 'Country': 'USA'}
2:dict()函数
除了字典字面量,我们还可以使用dict()函数创建字典,语法如下:
dict(key1=value1, key2=value2, ……, keyn=valuen)
例如:
>>> dict = dict(Name='Tom', Age=18, Country='USA')
>>> print(dict)
{'Name': 'Tom', 'Age': 18, 'Country': 'USA'}
Python 访问字典元素
Python中访问字典元素的方法,主要有以下几种:
1:使用字典的键访问元素
在Python中,可以使用字典的键来访问字典的元素,语法如下:
dict[key]
比如:
>>> dict = {'Name': 'Tom', 'Age': 18, 'Country': 'USA'}
>>> print(dict['Name'])
Tom
>>> print(dict['Age'])
18
2:使用get()方法访问字典元素
另外一种访问字典元素的方法是使用get()方法,语法如下:
dict.get(key, default)
其中,key为要查找的键,default为指定的默认值,如果字典中不存在该键,则返回default。比如:
>>> dict = {'Name': 'Tom', 'Age': 18, 'Country': 'USA'}
>>> print(dict.get('Name'))
Tom
>>> print(dict.get('Gender', 'Not Found'))
Not Found
Python 删除字典元素
在Python中,有多种删除字典元素的方法,主要有如下几种:
1:使用del语句删除
可以使用del语句删除字典中的元素,语法为:del dict[key]
比如:
>>> dict = {'Name': 'Tom', 'Age': 18, 'Country': 'USA'}
>>> print(dict)
{'Name': 'Tom', 'Age': 18, 'Country': 'USA'}
>>> del dict['Name']
>>> print(dict)
{'Age': 18, 'Country': 'USA'}
2:使用pop()方法删除
还可以使用pop()方法删除字典中的元素,语法如下:
dict.pop(key, default)
其中,key为要删除的键,default为指定的默认值,如果字典中不存在该键,则返回default。比如:
>>> dict = {'Name': 'Tom', 'Age': 18, 'Country': 'USA'}
>>> print(dict.pop('Name'))
Tom
>>> print(dict)
{'Age': 18, 'Country': 'USA'}
3:使用clear()方法清空字典
可以使用clear()方法清空字典,语法为:dict.clear()
举例如下:
>>> dict = {'Name': 'Tom', 'Age': 18, 'Country': 'USA'}
>>> print(dict)
{'Name': 'Tom', 'Age': 18, 'Country': 'USA'}
>>> dict.clear()
>>> print(dict)
{}
Python 操作字典的内置方法
另外在Python中,还有很多字典的内置方法,可以方便的操作字典。
下面是一些常见的字典内置方法:
- clear():用于删除字典内所有元素。
- copy():用于复制一个字典。
- fromkeys(seq[, v]):用于创建一个新字典,以 seq 中元素做字典的键,v 为字典所有键对应的初始值。
- get(key, default=None):返回指定键的值,如果值不在字典中返回 default 值。
- items():以列表返回可遍历的(键,值)元组数组。
- keys():返回字典所有的键。
- pop(key[, default]):删除字典给定键 key 所对应的值,返回值为被删除的值。如果 key 不存在,返回 default 值。
- popitem():随机返回并删除字典中的一对键和值(一般删除末尾对)。
- setdefault(key, default=None):和get()类似, 但如果键不存在于字典中,将会添加键并将值设为default。
- update([other]):把字典参数 other 的 key-value(键-值) 对更新到字典中。
- values():返回字典中的所有值。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python dict字典详解 - Python技术站