Python 字典(Dictionary)常用操作方法

发布时间:2023年12月20日
作者: 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
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。