10个Python字典函数,让数据处理更简单
Python字典是一种非常常见的数据结构,在数据处理中也经常用到。Python中有很多针对字典的函数和方法,下面介绍一些常用的字典函数,让数据处理更加简单。
1. get()
get()函数可以根据指定的键获取对应的值,如果字典中没有该键,则返回默认值(默认为None),这样可以避免键不存在导致的KeyError异常。
示例:
d = {'a': 1, 'b': 2, 'c': 3}
print(d.get('a')) # 输出:1
print(d.get('d')) # 输出:None
print(d.get('d', 0)) # 输出:0,指定默认值
2. setdefault()
setdefault()函数可以用来获取字典中指定键的值,如果该键不存在,则设置默认值并返回默认值,同时更新字典。
示例:
d = {'a': 1, 'b': 2}
x = d.setdefault('a', 3)
print(x) # 输出:1,键'a'已存在,返回该键对应的值
print(d) # 输出:{'a': 1, 'b': 2},字典未发生变化
y = d.setdefault('c', 3)
print(y) # 输出:3,键'c'不存在,设置默认值并返回默认值
print(d) # 输出:{'a': 1, 'b': 2, 'c': 3},新增键值对{'c': 3}
3. update()
update()函数可以将一个字典中的键值对更新到另一个字典中,如果有相同的键,则后一个字典的值会覆盖前一个字典的值。
示例:
d1 = {'a': 1, 'b': 2}
d2 = {'b': 3, 'c': 4}
d1.update(d2)
print(d1) # 输出:{'a': 1, 'b': 3, 'c': 4},d2中的'b'覆盖了d1中的'b'
4. keys()
keys()函数可以返回字典中所有键的列表。
示例:
d = {'a': 1, 'b': 2, 'c': 3}
print(d.keys()) # 输出:dict_keys(['a', 'b', 'c'])
5. values()
values()函数可以返回字典中所有值的列表。
示例:
d = {'a': 1, 'b': 2, 'c': 3}
print(d.values()) # 输出:dict_values([1, 2, 3])
6. items()
items()函数可以返回字典中所有键值对的元组组成的列表。
示例:
d = {'a': 1, 'b': 2, 'c': 3}
print(d.items()) # 输出:dict_items([('a', 1), ('b', 2), ('c', 3)])
7. pop()
pop()函数可以根据指定的键删除字典中的某个键值对,并返回对应的值,如果字典中不存在该键,则会引发KeyError异常。
示例:
d = {'a': 1, 'b': 2, 'c': 3}
x = d.pop('b')
print(x) # 输出:2,删除键'b'对应的值,返回该值
print(d) # 输出:{'a': 1, 'c': 3},字典中不含键'b'
y = d.pop('d') # 引发KeyError异常,因为键'd'不存在
8. popitem()
popitem()函数可以从字典中随机删除一个键值对,并返回该键值对组成的元组,如果字典为空,则引发KeyError异常。
示例:
d = {'a': 1, 'b': 2, 'c': 3}
x = d.popitem()
print(x) # 输出:('c', 3),随机删除一个键值对并返回该键值对组成的元组
print(d) # 输出:{'a': 1, 'b': 2},字典中少了一个键值对
y = {}
y.popitem() # 引发KeyError异常,因为字典为空
9. clear()
clear()函数可以清空字典中的所有键值对。
示例:
d = {'a': 1, 'b': 2, 'c': 3}
d.clear()
print(d) # 输出:{},字典中不再含有任何键值对
10. fromkeys()
fromkeys()函数可以创建一个新字典,字典中的所有键都来自于一个可迭代对象(如列表、元组等),这些键的值均为指定的默认值,默认值为空。
示例:
keys = ['a', 'b', 'c']
d = dict.fromkeys(keys)
print(d) # 输出:{'a': None, 'b': None, 'c': None},默认值为None
e = dict.fromkeys(keys, 0)
print(e) # 输出:{'a': 0, 'b': 0, 'c': 0},指定了默认值为0
以上是Python中常用的10个字典函数,可以用来简化数据处理过程,提高代码效率。除了这些函数外,Python中还有很多其他强大的字典方法和函数,值得在实际开发中多多掌握。
