web-dev-qa-db-fra.com

Ignorer une partie d'un tuple python

Si j'ai un tuple tel que (1,2,3,4) et je veux assigner 1 et 3 aux variables a et b je pourrais évidemment dire

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

Ou quelque chose comme

(a,_,b,_) = myTuple

Existe-t-il un moyen de décompresser les valeurs, mais d'ignorer une ou plusieurs d'entre elles?

44
Jim Jeffries

Votre solution est très bien à mon avis. Si vous avez vraiment un problème avec l'attribution de _, vous pouvez définir une liste d'index et faire:

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

J'écrirais personnellement:

a, _, b = myTuple

C'est un idiome assez courant, il est donc largement compris. Je trouve la syntaxe limpide.

60
NPE