技术文章和资源

技术文章(时间排序)

热门类别

Python PHP MySQL JDBC Linux

Python 程序用于在字典等于 K 时更改其值

pythonserver side programmingprogramming

字典是 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("更新前的字典:",my_dict)
K = 2
new_value = 5
change_value_if_equals_K(my_dict, K, new_value)
print("更新后的字典:",my_dict)

输出

更新前的字典:{'a': 1, 'b': 2, 'c': 3, 'd': 4}
更新后的字典:{'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("更新前的字典:",my_dict)
K = 2
new_value = 5
updated_dict = change_value_if_equals_K(my_dict, K, new_value)
print("更新后的字典:",my_dict)

输出

更新前的字典:{'a': 1, 'b': 2, 'c': 3, 'd': 4}
更新后的字典:{'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("更新前的字典:",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("更新后的字典:",new_dict)

输出

更新前的字典:{'a': 1, 'b': 2, 'c': 3, 'd': 2}
更新后的字典:{'a': 1, 'b': '5', 'c': 3, 'd': '5'}

相关文章