如何删除属于元组列表的每个元组的第二个元素?

时间:2014-04-09 08:08:34

标签: python list python-2.7 tuples

我有一个看起来像这样的元组列表;

ListTuple=[('Tuple1', '2ndElement', '3rdElement', 1L), ('Tuple2', '2ndElement', '3rdElement', 2L)]

我想从这个元组列表中的每个元组中删除第二个元素。输出将如下所示;

OutputTuple=[('Tuple1', '3rdElement', 1L), ('Tuple2', '3rdElement', 2L)]

如何在python中完成?非常感谢你。

3 个答案:

答案 0 :(得分:6)

OutputTuple = [(a, b, d) for a, b, c, d in ListTuple]

哦,顺便说一句,因为这些是元组(不可变的),所以你不能从它们中“删除”东西。只创造新的东西。

答案 1 :(得分:2)

这个解决方案可以在不假设每个元组中有固定数量的元素的情况下工作,或者甚至在每个元组中都有相同数量的元素。

ListTuple=[('Tuple1', '2ndElement', '3rdElement', 1L), ('Tuple2', '2ndElement', '3rdElement', 2L)]
output = [((t[0],)+t[2:]) for t in ListTuple]

答案 2 :(得分:1)

保留所有第二项。

In [4]: [(t[0], t[2], t[3]) for t in ListTuple]
Out[4]: [('Tuple1', '3rdElement', 1L), ('Tuple2', '3rdElement', 2L)]