Python 字典(Dictionary)常用操作方法
2023-12-19 05:57:01
作者: quantgalaxy@outlook.com
blog: https://blog.csdn.net/quant_galaxy
欢迎交流
1. 介绍
Python字典是存储键值对集合的基本数据结构。每个键都是唯一的,并作为其关联值的标识符。
字典是无序的,这意味着它们不维护任何特定的元素顺序,而且它们是可变的,允许对其内容进行动态修改。
Python字典具有令人难以置信的通用性,使其适用于各种任务,例如有效地存储和检索数据、表示复杂的数据结构以及执行查找和数据转换。
它们被实现为哈希表,这确保了基于键的值的快速访问,即使对于大型数据集也是如此。字典是Python开发人员的关键工具,它提供了一种灵活的方式来管理和操作程序中的数据。
本篇文章主要介绍字典的一些基本操作方式
2. 字典的常用操作方式
2.1 创建一个字典
# create dictionary
my_dict = dict(Names = ["Amaka", "Chad", "Kemi", "Jack", "Tim"],
Age = [22, 24, 30, 27, 32])
print(my_dict)
# {'Names': ['Amaka', 'Chad', 'Kemi', 'Jack', 'Tim'], 'Age': [22, 24, 30, 27, 32]}
2.2 得到字典中的所有索引/键(Keys)
print(my_dict.keys())
# dict_keys(['Names', 'Age'])
2.3 得到字典中的所有值(Values)
# get values
print(my_dict.values())
# dict_values([['Amaka', 'Chad', 'Kemi', 'Jack', 'Tim'], [22, 24, 30, 27, 32]])
2.4 获取指定键的值
# get age values
ages = my_dict.get("Age")
# [22, 24, 30, 27, 32]
# 另一种方法:
print(my_dict["Age"])
# [22, 24, 30, 27, 32]
2.5 得到字典的所有key-value配对
# get all items
print(my_dict.items())
# dict_items([('Names', ['Amaka', 'Chad', 'Kemi', 'Jack', 'Tim']), ('Age', [22, 24, 30, 27, 32])])
作者: quantgalaxy@outlook.com
blog: https://blog.csdn.net/quant_galaxy
欢迎交流
2.6 得到字典的一个深拷贝
如果只是一个赋值语句,得到的只是字典的一个引用,完整的复制一个字典,需要使用到深拷贝。
# make copy of dictionary
copy = my_dict.copy()
print(copy)
# {'Names': ['Amaka', 'Chad', 'Kemi', 'Jack', 'Tim'], 'Age': [22, 24, 30, 27, 32]}
2.7 清空字典
# clear dictionary content
my_dict.clear()
print(empty_dict)
# None
2.8 更新/添加 字典的内容
# update dicitonary with another dictionary
another_dict = {"Count":[1,2,3,4,5]}
my_dict.update(another_dict)
print(my_dict)
# {'Names': ['Amaka', 'Chad', 'Kemi', 'Jack', 'Tim'], 'Age': [22, 24, 30, 27, 32], 'Count': [1, 2, 3, 4, 5]}
2.9 删除字典中的键
# remove an item with a specified key and return its values
values = my_dict.pop("Age")
print(values)
print(my_dict)
# [22, 24, 30, 27, 32]
# {'Names': ['Amaka', 'Chad', 'Kemi', 'Jack', 'Tim']}
2.10 删除字典中的最后一个元素
# remove the last item in a dictionary and return its key-value pair as a tuple.
tup = my_dict.popitem()
print(tup)
print(my_dict)
# ('Age': [22, 24, 30, 27, 32])
# {'Names': ['Amaka', 'Chad', 'Kemi', 'Jack', 'Tim']}
2.11 设置字典的默认值
# create nested list
nested_list = [["Amaka", "Chad", "Kemi", "Jack", "Tim"],[22, 24, 30, 27, 32]]
print(nested_list)
# [['Amaka', 'Chad', 'Kemi', 'Jack', 'Tim'], [22, 24, 30, 27, 32]]
new_dict = dict()
for i in nested_list[0]:
for j in nested_list[1]:
new_dict.setdefault(i,j)
print(new_dict)
# {'Amaka': 22, 'Chad': 22, 'Kemi': 22, 'Jack': 22, 'Tim': 22}
setdefault设置指定key的默认值,如果key在字典中存在,这个设置就不会执行,如果不存在,就会把值设置为第二个变量。
上面例子中,第一层循环式遍历所有的字符串key,第二个循环在第一次都已经成功设置了默认值,也就是nested_list[1]的第一个元素22。后续的设置都是无效的。
所以最后所有的key都被设置为了值22。
3. 作者
作者: quantgalaxy@outlook.com
blog: https://blog.csdn.net/quant_galaxy
欢迎交流
文章来源:https://blog.csdn.net/quant_galaxy/article/details/135061892
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!