Python Language Emballage et déballage des tuples


Exemple

Les tuples en Python sont des valeurs séparées par des virgules. La mise entre parenthèses pour la saisie de n-uplets est facultative, donc les deux affectations

a = 1, 2, 3   # a is the tuple (1, 2, 3)

et

a = (1, 2, 3) # a is the tuple (1, 2, 3)

sont équivalents. L'affectation a = 1, 2, 3 est également appelée " emballage" car elle regroupe les valeurs dans un tuple.

Notez qu'un tuple à une valeur est également un tuple. Pour dire à Python qu'une variable est un tuple et non une valeur unique, vous pouvez utiliser une virgule

a = 1  # a is the value 1
a = 1, # a is the tuple (1,)

Une virgule est également nécessaire si vous utilisez des parenthèses

a = (1,) # a is the tuple (1,)
a = (1)  # a is the value 1 and not a tuple

Pour décompresser les valeurs d'un tuple et faire plusieurs affectations, utilisez

# unpacking AKA multiple assignment
x, y, z = (1, 2, 3) 
# x == 1
# y == 2
# z == 3

Le symbole _ peut être utilisé comme un nom de variable jetable si l'on a seulement besoin de quelques éléments d'un tuple, agissant comme un espace réservé:

a = 1, 2, 3, 4
_, x, y, _ = a
# x == 2
# y == 3

Tuples à élément unique:

x, = 1,  # x is the value 1
x  = 1,  # x is the tuple (1,)

Dans Python 3, une variable cible avec un préfixe * peut être utilisée comme variable fourre-tout (voir Déballage d’itérables ):

Python 3.x 3.0
first, *more, last = (1, 2, 3, 4, 5)
# first == 1
# more == [2, 3, 4]
# last == 5