在 for 循环中使用 _ 转义多个值

Use _ to escape more than one value in a for loop

假设我有以下数据结构:

input = [(1,2,3,4,5), (1,2,3,4), (1,2,3)]

for 循环中,我想一次只迭代每个元组元素中的前三个元素,而不用担心元组有多大。

我知道我可以使用 _ 来实现这一点,但是我必须指定要删除多少个值。

有没有办法在事先不知道所讨论的元组有多大的情况下实现这一目标?

我知道我能做到:

for i, j, k, _, _ in input:
    ....

但是有没有办法只用一个 _?因为如果每个子元素的大小不是 5,上面将失败(如果太小,我将得到 need more than 4 values to unpack,如果太大,我将得到 too many values to unpack)。

我出于好奇问这个问题,我知道我可以通过以下方式单独解压元素:

for elem in input:     
    i, j, k = elem[:3]

我正在使用 Python 2.7.6.

您可以在 Python 3.x 中完成 for i, j, k, *_ in input: