📜  Python|更新元组列表中的每个元素

📅  最后修改于: 2022-05-13 01:55:21.941000             🧑  作者: Mango

Python|更新元组列表中的每个元素

有时,在处理数据时,我们可能会遇到需要对元组执行更新操作的问题。这可以具有跨许多领域的应用程序,例如 Web 开发。让我们讨论可以执行此任务的某些方式。

方法#1:使用列表推导
这是可用于执行此任务的蛮力函数的简写。在此,我们迭代每个元组的每个元素以执行数据的批量更新。

# Python3 code to demonstrate working of
# Update each element in tuple list
# Using list comprehension
  
# initialize list
test_list = [(1, 3, 4), (2, 4, 6), (3, 8, 1)]
  
# printing original list 
print("The original list : " + str(test_list))
  
# initialize add element
add_ele = 4
  
# Update each element in tuple list
# Using list comprehension
res = [tuple(j + add_ele for j in sub ) for sub in test_list]
  
# printing result
print("List after bulk update : " + str(res))
输出 :
The original list : [(1, 3, 4), (2, 4, 6), (3, 8, 1)]
List after bulk update : [(5, 7, 8), (6, 8, 10), (7, 12, 5)]

方法 #2:使用map() + lambda + 列表推导
上述功能的组合可用于执行此任务。在此,我们只使用map()迭代所有元素并使用 lambda 函数扩展更新逻辑。

# Python3 code to demonstrate working of
# Update each element in tuple list
# Using list comprehension + map() + lambda
  
# initialize list
test_list = [(1, 3, 4), (2, 4, 6), (3, 8, 1)]
  
# printing original list 
print("The original list : " + str(test_list))
  
# initialize add element
add_ele = 4
  
# Update each element in tuple list
# Using list comprehension + map() + lambda
res = [tuple(map(lambda ele : ele + add_ele, sub)) for sub in test_list]
  
# printing result
print("List after bulk update : " + str(res))
输出 :
The original list : [(1, 3, 4), (2, 4, 6), (3, 8, 1)]
List after bulk update : [(5, 7, 8), (6, 8, 10), (7, 12, 5)]