从元组列表中替换元组元素-Python
我想编写一个python程序来用某个数字(比如说100)替换列表中元组的最后一个值。
我的列表: [(10,20,30),(40,50,60),(70,80,90)]
预期输出: [(10,20,100),(40,50,100),(70,80,100)]
回答
由于元组是不可变的,因此您必须重新组装新的元组:
lst = [(10,20,30),(40,50,60),(70,80,90)]
new_lst = [tpl[:-1] + (100,) for tpl in lst]
# [(10, 20, 100), (40, 50, 100), (70, 80, 100)]
这使用了对新元组的列表理解,新元组是适当切片与单例元组 ( (100,)) 的串联。请注意,逗号很重要。