Подтвердить что ты не робот

Игнорировать часть кортежа python

Если у меня есть кортеж, такой как (1,2,3,4), и я хочу назначить 1 и 3 переменным a и b, я мог бы, очевидно, сказать

myTuple = (1,2,3)
a = my_tuple[0]
b = myTuple[2]

Или что-то вроде

(a,_,b,_) = myTuple

Есть ли способ распаковать значения, но игнорировать один или несколько из них?

4b9b3361

Ответ 1

Ваше решение прекрасное, на мой взгляд. Если у вас действительно есть проблема с назначением _, тогда вы можете определить список индексов и сделать:

a = (1, 2, 3, 4, 5)
idxs = [0, 3, 4]
a1, b1, c1 = (a[i] for i in idxs)

Ответ 2

Я лично напишу:

a, _, b = myTuple

Это довольно распространенная идиома, поэтому она широко понятна. Я нахожу синтаксис кристально чистым.