当前分类:python>>正文

Python字典:高效快捷的键值对存储方法

来源:互联网   更新时间:2023年7月27日  

Python 笔记

Python字典是Python编程语言中内置的一种高效快捷的数据类型,用于存储键值对,其中键和值都可以是任意类型的对象。Python字典的底层实现使用哈希表,因此可以在常量的时间复杂度内进行元素的查找、插入和删除操作。

一、字典的定义与创建

使用花括号可以创建一个空字典:

{}

可以在花括号中使用键值对初始化字典:

{'key1': 'value1', 'key2': 'value2'}

也可以使用 dict() 函数创建字典:

dict()
{'key1': 'value1', 'key2': 'value2'}

可以通过向字典中添加键值对来动态创建字典:

my_dict = {}
my_dict['key'] = 'value'
print(my_dict)

输出结果:

{'key': 'value'}

二、字典的查询与更新

可以使用中括号 [] 操作符访问字典中的值:

my_dict = {'key1': 'value1', 'key2': 'value2'}
print(my_dict['key1'])

输出结果:

value1

可以使用中括号 [] 操作符更新字典中的值:

my_dict = {'key1': 'value1', 'key2': 'value2'}
my_dict['key1'] = 'new_value1'
print(my_dict)

输出结果:

{'key1': 'new_value1', 'key2': 'value2'}

可以使用 get() 方法来获取字典中某个键对应的值,如果键不存在,则返回 None 或指定的默认值:

my_dict = {'key1': 'value1', 'key2': 'value2'}
print(my_dict.get('key1'))
print(my_dict.get('key3'))
print(my_dict.get('key3', 'default_value'))

输出结果:

value1
None
default_value

三、字典的删除与遍历

可以使用 del 关键字删除字典中的键值对:

my_dict = {'key1': 'value1', 'key2': 'value2'}
del my_dict['key1']
print(my_dict)

输出结果:

{'key2': 'value2'}

可以使用 for-in 循环遍历字典中的键值对:

my_dict = {'key1': 'value1', 'key2': 'value2'}
for key, value in my_dict.items():
    print(key, value)

输出结果:

key1 value1
key2 value2

如果只需要遍历字典中的键或值,可以使用 keys() 和 values() 方法:

my_dict = {'key1': 'value1', 'key2': 'value2'}
for key in my_dict.keys():
    print(key)

for value in my_dict.values():
    print(value)

输出结果:

key1
key2
value1
value2

四、字典的高级用法

字典支持多级嵌套,可以很方便地实现树形结构:

my_dict = {'A': {'a': 1, 'b': 2}, 'B': {'c': 3, 'd': 4}}
print(my_dict['A']['a'])

输出结果:

1

可以使用字典推导式来生成字典:

my_dict = {i: i ** 2 for i in range(5)}
print(my_dict)

输出结果:

{0: 0, 1: 1, 2: 4, 3: 9, 4: 16}

字典也支持函数式编程中常见的 reduce() 函数:

from functools import reduce
my_dict = {'a': 1, 'b': 2, 'c': 3}
result = reduce(lambda x, y: x + y, my_dict.values())
print(result)

输出结果:

6

五、总结

Python字典是一个非常常用的数据类型,它采用哈希表实现,因此可以在常量的时间复杂度内进行元素的查找、插入和删除操作。在使用字典时,需要注意键必须是不可变类型的对象,例如整数、字符串和元组等,而值可以是任意类型的对象。可以使用中括号 [] 操作符访问或更新字典中的元素,也可以使用 get() 方法获取字典中某个键对应的值。此外,字典还可以通过 del 关键字删除键值对,或者使用 for-in 循环遍历字典中的键值对。

本文固定链接:https://6yhj.com/leku-p-5073.html  版权所有,转载请保留本地址!
[猜你喜欢]

标签: 百度爬虫