Python中的字典函数–学习Python中的字典函数,方便对数据进行处理。
Python中的字典是一种可变且无序的数据结构,它由键-值对组成,键必须是唯一的且不可变的,而值可以是任意类型的Python对象。字典可以很方便地进行增加、删除、修改和查询操作,而且不同于序列类型,字典没有索引,只能通过键来访问其中的元素。
字典提供了很多有用的内置函数,可以帮助我们更轻松地处理字典类型的数据。下面我们具体介绍几个常用的字典函数。
一、字典的构造函数
字典对象可以通过构造函数 dict() 来创建,它可以接受任何一个可迭代对象作为参数,包括列表、元组、集合、字符串、字典等等。对于字典类型的参数,dict() 会直接复制该字典的键值对到新的字典中。如果参数是一个二元组序列,则第一个元素是键,第二个元素是值,它们将被用来创建键值对。
例如:
# 用列表初始化字典
dict1 = dict([('name', '张三'), ('age', 18), ('gender', '男')])
print(dict1) # {'name': '张三', 'age': 18, 'gender': '男'}
# 用元组初始化字典
dict2 = dict((('name', '李四'), ('age', 20), ('gender', '男')))
print(dict2) # {'name': '李四', 'age': 20, 'gender': '男'}
# 用字典对象初始化字典
dict3 = dict({'name': '王五', 'age': 22, 'gender': '女'})
print(dict3) # {'name': '王五', 'age': 22, 'gender': '女'}
二、字典的键、值、键值对函数
字典中值得注意的是它不同于序列类型数据的下标访问。所以,本节介绍对字典的各种键值对访问的措施,它们广泛地应用于对字典各种操作的中。
1. keys() 函数
keys() 函数返回字典中所有的键信息,它返回的是一个字典视图对象,我们可以通过类型转换或直接迭代来获取所有的键值。例如:
d = {'A': 10, 'B': 20, 'C': 30}
keys = d.keys() # dict_keys(['A', 'B', 'C'])
print(list(keys)) # ['A', 'B', 'C']
字典视图对象是动态的,当我们对字典进行更改操作时,键视图也会同步更新,这是因为字典视图对象只是键的一个动态视图,而不是一份静态的复制。
2. values() 函数
values() 函数返回字典中所有的值信息,它返回的也是一个字典视图对象,我们同样可以通过类型转换或直接迭代来获取所有的值。例如:
d = {'A': 10, 'B': 20, 'C': 30}
values = d.values() # dict_values([10, 20, 30])
print(tuple(values)) # (10, 20, 30)
和键视图对象一样,值视图对象也是动态的,当字典值发生变化时,值视图对象也会相应地更新。
3. items() 函数
items() 函数返回字典中所有的键值对,它返回的是一个字典的视图对象,我们可以通过类型转换或直接迭代来获取所有的键值对。例如:
d = {'A': 10, 'B': 20, 'C': 30}
items = d.items() # dict_items([('A', 10), ('B', 20), ('C', 30)])
print(dict(items)) # {'A': 10, 'B': 20, 'C': 30}
键值对视图对象同样是动态的,当字典的键值发生变化时,它也会相应地更新。
三、字典的删除函数
字典可以通过 del 操作符、pop() 函数、clear() 函数来删除其中的元素或者清空整个字典。
1. del 操作符
del 操作符可以删除字典中指定的键值对,例如:
d = {'A': 10, 'B': 20, 'C': 30}
del d['A']
print(d) # {'B': 20, 'C': 30}
2. pop() 函数
pop() 函数可以删除字典中指定的键值对并返回其对应的值,如果指定的键不存在,则会报错。例如:
d = {'A': 10, 'B': 20, 'C': 30}
value = d.pop('C')
print(d) # {'A': 10, 'B': 20}
print(value) # 30
3. clear() 函数
clear() 函数可以清空整个字典,将其变为一个空字典。例如:
d = {'A': 10, 'B': 20, 'C': 30}
d.clear()
print(d) # {}
四、字典的更新函数
Python提供了 update() 函数用于合并字典,它将另一个字典中的键值对添加到当前字典中,如果有重复的键,则会覆盖原有的键值对。例如:
d1 = {'A': 10, 'B': 20, 'C': 30}
d2 = {'C': 40, 'D': 50, 'E': 60}
d1.update(d2)
print(d1) # {'A': 10, 'B': 20, 'C': 40, 'D': 50, 'E': 60}
update() 函数也可以接受输入变量名-值对的形式,这样可以更方便地进行添加或修改操作。例如:
d = {'A': 10, 'B': 20, 'C': 30}
d.update(A=15, D=40)
print(d) # {'A': 15, 'B': 20, 'C': 30, 'D': 40}
五、字典的查询函数
Python中的字典提供了 get() 函数、in 操作符、inversed() 函数用于查询字典中是否包含指定的键或值,以及用于反向查询的 inversed() 函数。
1. get() 函数
get() 函数用于获取字典中指定键对应的值,如果键不存在,则会返回 None,也可以指定一个默认值作为第二个参数。例如:
d = {'A': 10, 'B': 20, 'C': 30}
value = d.get('B')
print(value) # 20
value = d.get('D')
print(value) # None
value = d.get('D', 0)
print(value) # 0
2. in 操作符
in 操作符可以用于判断字典中是否包含指定的键。例如:
d = {'A': 10, 'B': 20, 'C': 30}
result = 'A' in d # True
print(result)
result = 'D' in d # False
print(result)
3. inversed() 函数
inversed() 函数可以将一个字典中的键值对反转,键变成值,值变成键。注意,反转后的键必须是唯一的且不可变的,因此如果原字典中有相同的值,则会覆盖原有的键。例如:
`python
d = {'A': 10, 'B': 20, 'C': 30}
inversed_d = dict(zip(d.values(), d
