0

假设我有以下数据结构:

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。

4

1 回答 1

4

你可以for i, j, k, *_ in input:在 Python 3.x 中做。

于 2015-11-10T12:18:08.883 回答