如何“截断”相同长度元组的元组的最后一列?

时间:2012-04-25 05:22:32

标签: python tuples

假设我有

x = ((1, 2, 3), (4, 5, 6), (7, 8, 9))

我如何到达

x = ((1, 2), (4, 5), (7, 8))

我想出的唯一方法是使用列表推导然后转换回元组:

x = tuple([n[1:len(n)] for n in x])

但我觉得这是一种丑陋的做法......

2 个答案:

答案 0 :(得分:8)

In [1]: x = ((1, 2, 3), (4, 5, 6), (7, 8, 9))

In [2]: tuple(a[:-1] for a in x)

答案 1 :(得分:3)

您可以使用生成器表达式而不是列表推导(几乎相同):

x = tuple(n[1:] for n in x)

请注意,这不会为您提供上述内容。如果你想切断你应该做的结果:

x = tuple(n[:-1] for n in x)