Python 列表元素修改:高效替换元组最后一个元素
本文介绍一种 Python 函数,用于修改列表中元组的最后一个元素。给定一个包含元组的列表和一个数值 n
,函数将返回一个新列表,其中每个元组的最后一个元素都被替换为 n
。
解决方案:
以下代码提供了一种简洁高效的解决方案:
def modify_tuple_last_element(data_list: list, new_value: int) -> list:
"""
修改列表中元组的最后一个元素。
Args:
data_list: 包含元组的列表。
new_value: 用于替换的数值。
Returns:
一个新列表,其中每个元组的最后一个元素都被替换为 new_value。
"""
return [tuple(list(t)[:-1] + [new_value]) for t in data_list]
# 示例用法
my_list = [(10, 20, 40), (40, 50, 60), (70, 80, 90)]
new_list = modify_tuple_last_element(my_list, 200)
print(new_list) # 输出: [(10, 20, 200), (40, 50, 200), (70, 80, 200)]
此函数利用列表推导式,更高效地完成了任务。它首先将每个元组转换为列表,修改列表的最后一个元素,然后将修改后的列表再转换回元组。 这避免了显式的循环和列表拼接操作,使代码更简洁易读。
代码运行结果:
[(10, 20, 200), (40, 50, 200), (70, 80, 200)]