Python 字典
字典是一种在Python中存储数据的有用数据结构,因为它们能够模拟现实世界数据的排列,其中给定键存在一个特定的值。
使用Python字典,数据以键值对的形式存储。
- 这种数据结构是可变的。
- 字典的组成部分使用键和值构建。
- 键只能有一个组成部分。
- 值可以是任何类型,包括整数、列表和元组。
换句话说,字典是一组键值对,其中值可以是任何Python对象。相反,键是不可变的Python对象,如字符串、元组或数字。字典条目在Python 3.7及更高版本中是有序的。在Python 3.6及之前的版本中,字典一般是无序的。
创建字典
大括号是生成Python字典的最简单方法,虽然也有其他方法。用大括号将多个键值对括起来,用冒号将每个键与其值分隔开,就可以构建字典。(:)。以下是定义字典的语法。
语法:
在上述的字典 Dict 中,键 Name 和 Age 是属于不可变对象的字符串。
让我们来看一个创建字典并打印其内容的示例。
代码
输出
Python提供了内置函数 dict() 方法,也可以用于创建字典。
空的花括号{}用于创建空字典。
代码
输出
访问字典值
为了访问列表和元组中包含的数据,我们已经学习了索引。字典的键可以用来获取值,因为它们彼此是唯一的。以下方法可用于访问字典的值。
代码
输出结果
Python提供了一种替代方法来使用get()方法来访问字典的值。它会给出与索引相同的结果。
添加字典的值
字典是一种可变的数据类型,利用正确的键可以改变它的值。Dict[key] = value,值可以被修改。现有的值也可以使用update()方法进行更新。
注意:如果键-值对已经存在于字典中,则会更新值。否则,会添加字典的新键。
让我们看一个更新字典值的例子。
示例 – 1:
代码
输出
示例 – 2:
代码
输出
使用del关键字删除元素
可以使用 del 关键字删除字典的元素,如下所示。
代码
输出结果
上面代码中的最后一个print语句引发了错误,因为我们尝试打印已被删除的Employee字典。
使用pop()方法删除元素
字典是Python中的一组键值对。您可以使用这种无序的、可变的数据类型通过使用键来检索、插入和删除项目。pop()方法是从字典中删除元素的一种方式。在本文中,我们将讨论如何使用pop()方法从Python字典中删除项目。
使用pop()方法删除字典中特定键对应的值,并返回该值。仅需一个参数,即要删除的元素的键。pop()方法可通过以下方式使用:
代码
输出结果
另外,Python还提供了内置函数popitem()和clear()用于删除字典项。与clear()方法不同的是,该方法会从字典中删除任意一个元素。
迭代字典
可以使用for循环来迭代字典,如下所示。
示例1
代码
输出
示例2
代码
输出
示例3
代码
输出
示例4
代码
输出
字典键的属性
1. 在字典中,我们不能为同一个键存储多个值。如果我们为同一个键传递了多个值,那么最后被赋值的值将被视为该键的值。
考虑以下示例。
代码
输出
2. 关键字不能是Python中的任何可变对象。可以使用数字、字符串或元组作为关键字,但不能将可变对象(如列表)作为字典的关键字。
考虑以下示例。
代码
输出
内置字典函数
函数是可以用于构造的方法,用于生成一个值。此外,构造不会被改变。Python的一些方法可以与Python字典结合使用。
下面列出了内置的Python字典方法,以及简要描述。
- len()
通过len()函数返回字典的长度。对于每对键值对,字符串长度增加一。
代码
输出
- any()
就像它在列表和元组中的工作方式一样,any()方法将确实返回True,如果一个字典键具有一个布尔表达式,该表达式评估为True。
代码
输出
- all()
与any()方法不同,all()方法只有当字典的每个键包含True布尔值时,才返回True。
代码
输出
- sorted()
就像对列表和元组一样,sorted()方法返回一个按字典键排序的有序序列。升序排序对原始的Python字典没有影响。
代码
输出
内置字典方法
以下是内置的Python字典方法以及描述和代码。
- clear()
它主要用于删除字典的所有项。
代码
输出
- copy()
它返回一个创建的字典的浅拷贝。
代码
输出
- pop()
主要根据指定的键删除元素。
代码
输出
popitem()
移除最近添加的键值对
代码
输出
- keys()
它返回字典的所有键。
代码
输出
- items()
它以元组的形式返回所有的键值对。
代码
输出
- get()
它用于获取指定键的值。
代码
输出
- update()
主要通过将dict2的键值对添加到该字典中来更新所有字典。
代码
输出
- values()
它根据给定的输入返回字典的所有值。
代码
输出