Используйте _ для экранирования более одного значения в цикле for
Скажем, у меня есть следующая структура данных:
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.