欢迎访问宙启技术站
智能推送

Python常用函数——字典操作

发布时间:2023-05-26 15:42:22

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 中非常实用的数据结构之一,使用方便、快捷。本文通过介绍字典的基本操作、常用方法等方面,帮助读者更好地理解和使用字典。