Python 程序修改字典中等于 K 的值
字典是 Python 中可用的数据结构之一,用于以键值对的形式存储任何数据类型的数据。它用 {} 花括号表示。字典中的键是唯一的,字典中的值可以重复。键值对之间使用分号“:”分隔。它是可变的,即一旦创建了字典,我们就可以修改数据。
字典用途广泛,在 Python 中被广泛用于映射和存储数据,在需要根据键快速访问值时非常有用。
字典是无序的,可以嵌套。它允许用户使用相应的键访问值。有很多函数支持字典来修改和访问特定键的值。
在本文中,我们将使用各种技术来修改字典中等于 K 的值。让我们逐一了解。
使用“for”循环
我们都知道,for 循环用于迭代定义的数据结构中的所有值。在这里,我们使用 for 循环迭代字典的项,并在值等于 K 时更新值。
示例
在此示例中,我们尝试使用 for 循环迭代字典项,并检查是否有任何值等于 K 的值,然后使用新值更新键。
def change_value_if_equals_K(dictionary, K, new_value): for key, value in dictionary.items(): if value == K: dictionary[key] = new_value my_dict = {'a': 1, 'b': 2, 'c': 3, 'd': 4} print("The dictionary before update:",my_dict) K = 2 new_value = 5 change_value_if_equals_K(my_dict, K, new_value) print("The updated dictionary:",my_dict)
输出
The dictionary before update: {'a': 1, 'b': 2, 'c': 3, 'd': 4} The updated dictionary: {'a': 1, 'b': 5, 'c': 3, 'd': 4}
使用字典推导式
字典推导式是一种简单易用的机制,可以在瞬间对现有字典项执行过滤、映射和条件逻辑,从而创建新的字典。
示例
在这里,我们通过传递条件逻辑来创建一个新字典,以检查字典的任何值是否等于 K=2,然后使用新定义的值 5 更新键。
def change_value_if_equals_K(dictionary, K, new_value): new_dict = {key: new_value if value == K else value for key, value in dictionary.items()} return new_dict my_dict = {'a': 1, 'b': 2, 'c': 3, 'd': 4} print("The dictionary before update:",my_dict) K = 2 new_value = 5 updated_dict = change_value_if_equals_K(my_dict, K, new_value) print("The updated dictionary:",my_dict)
输出
The dictionary before update: {'a': 1, 'b': 2, 'c': 3, 'd': 4} The updated dictionary: {'a': 1, 'b': 2, 'c': 3, 'd': 4}
使用 map() 函数
Python 中的 map() 函数将给定函数应用于可迭代对象的每个元素,并返回结果的迭代器。
虽然 map() 通常与函数一起使用,但它也可以与 lambda 函数一起使用,以在字典的值等于特定 K 值时更改该值。
示例
在此示例中,我们使用字典推导式来检查是否有任何字典值等于 K=2,如果匹配则将其替换为新值。然后,map() 函数与 lambda 函数一起使用,形式为 lambda item: (item[0], new_value) if item[1] == K else item,以迭代字典的项。lambda 函数检查值 (item[1]) 是否等于 K。如果等于,则返回一个包含键 (item[0]) 和新值 (new_value) 的元组。否则,它返回原始的键值对 (item)。
def change_dict_value(dictionary, K, new_value): return {key: new_value if value == K else value for key, value in dictionary.items()} my_dict = {'a': 1, 'b': 2, 'c': 3, 'd': 2} print("The dictionary before update:",my_dict) K = 2 new_value = '5' new_dict = dict(map(lambda item: (item[0], new_value) if item[1] == K else item, my_dict.items())) print("The updated dictionary:",new_dict)
输出
The dictionary before update: {'a': 1, 'b': 2, 'c': 3, 'd': 2} The updated dictionary: {'a': 1, 'b': '5', 'c': 3, 'd': '5'}