Python常用函数——字典操作
Python 中的字典(dictionary)是一种键值对(key-value)的数据结构,可以用来存储任意类型的数据。字典具有以下几个特点:
1. 字典中的键是 的,不会重复;
2. 键必须是不可变类型,如数字、字符串、元组;
3. 字典中的值可以是任意类型,如数字、字符串、列表、元组等;
4. 字典是无序的,没有索引概念。
字典的基本操作
创建字典:
使用花括号 {} 来创建字典,键值对使用冒号 : 分隔,每个键值对之间使用逗号 , 分隔。
# 创建空字典
empty_dict = {}
# 创建有元素的字典
tel = {'jack': 1234, 'john': 5678, 'jim': 9012}
# 可以使用 dict() 函数来创建字典
tel = dict([('jack', 1234), ('john', 5678), ('jim', 9012)])
访问字典:
使用方括号 [] 来访问字典中的元素,如 tel['jack'],如果键不存在会抛出 KeyError 异常。
# 访问字典
>>> tel['jack']
1234
# 使用 get() 方法来访问字典
>>> tel.get('jack')
1234
修改字典:
对已存在的键值对进行赋值即可修改,如果键不存在,会添加一个新的键值对。
# 修改字典的值
>>> tel['jack'] = 5678
>>> tel
{'jack': 5678, 'john': 5678, 'jim': 9012}
# 添加新的键值对
>>> tel['tom'] = 3456
>>> tel
{'jack': 5678, 'john': 5678, 'jim': 9012, 'tom': 3456}
删除字典元素:
使用 del 语句删除字典元素,也可以使用 pop() 方法把指定健对应的键值对删除。
# 删除指定的键值对
>>> del tel['jack']
>>> tel
{'john': 5678, 'jim': 9012, 'tom': 3456}
# 删除最后面的键值对
>>> tel.popitem()
('tom', 3456)
>>> tel
{'john': 5678, 'jim': 9012}
遍历字典:
可以通过循环来遍历字典中的键或值,也可以使用 items() 方法获取键值对。
# 遍历字典中的键或值 >>> for key in tel: ... print(key) ... john jim >>> for value in tel.values(): ... print(value) ... 5678 9012 # 使用 items() 方法来遍历所有的键值对 >>> for key, value in tel.items(): ... print(key, value) ... john 5678 jim 9012
字典常用方法
有许多常用的字典方法可用于对字典进行操作:
clear():清空字典中的所有元素。
>>> tel.clear()
>>> tel
{}
copy():返回一个字典的浅拷贝,即拷贝了原字典中的键值对,但是键值对的值仍然是原字典所指向的对象。
>>> tel = {'jack': 1234, 'john': 5678, 'jim': 9012}
>>> tel_copy = tel.copy()
>>> tel_copy
{'jack': 1234, 'john': 5678, 'jim': 9012}
fromkeys(seq[, value]):创建一个新字典,指定键和值的序列。
>>> keys = ['a', 'b', 'c']
>>> default_value = 0
>>> dict.fromkeys(keys, default_value)
{'a': 0, 'b': 0, 'c': 0}
get(key[, default]):返回指定键的值,如果键不存在返回默认值(默认值为 None)。
>>> tel = {'jack': 1234, 'john': 5678, 'jim': 9012}
>>> tel.get('jack')
1234
>>> tel.get('tom')
None
>>> tel.get('tom', 'Not Found')
'Not Found'
setdefault(key[, default]):返回指定键的值,如果键不存在就添加一个新的键值对(默认值为 None)。
>>> tel = {'jack': 1234, 'john': 5678, 'jim': 9012}
>>> tel.setdefault('tom', 3456)
3456
>>> tel
{'jack': 1234, 'john': 5678, 'jim': 9012, 'tom': 3456}
>>> tel.setdefault('jack', 5678)
1234
>>> tel
{'jack': 1234, 'john': 5678, 'jim': 9012, 'tom': 3456}
update([other]):用另一个字典中的键值对更新原字典中的键值对。
>>> tel1 = {'jack': 1234, 'john': 5678, 'jim': 9012}
>>> tel2 = {'tom': 3456}
>>> tel1.update(tel2)
>>> tel1
{'jack': 1234, 'john': 5678, 'jim': 9012, 'tom': 3456}
总结
字典是 Python 中非常实用的数据结构之一,使用方便、快捷。本文通过介绍字典的基本操作、常用方法等方面,帮助读者更好地理解和使用字典。
