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'}

更新于: 2023年10月19日

49 次浏览

开启你的 职业生涯

完成课程获得认证

开始学习
广告