Python: Tuple

From Wiki Cours
Jump to: navigation, search

<--Sommaire

Initialisation

Les tuples (n-uplets en français) sont des listes 'non modifiables'. La syntaxe est une succession d'éléments séparés par une virgule et de préférence entourés par des parenthèses.

a = 'a', 'b', 'c'
a = ('a', 'b', 'c')
a = tuple(['a', 'b', 'c']) # conversion d'une liste en tuple
print(a) # affiche le tuple

On peut se demander quel en est l'intérêt par rapport aux listes. C'est un outil très utile pour le passage d'arguments et pour sécuriser des données en évitant qu'elles soient modifiées.

Indexage

La même syntaxe que pour les listes est utilisable pour récupérer le contenu des tuples. En revanche, on ne peut affecter les éléments pour les modifier

a = 'a', 'b', 'c'
a[1] = 'd' # renvoie une erreur

Génération de tuples

En raison des parenthèses qui apparaissent dans beaucoup d'autres expressions, la génération automatique des tuples nécessite la présence d'une virgule. Voici quelques exemples:

a = ('Bonjour',) # notez la virgule lorsqu'il y a un seul élément
(3,)*10
(2,3,4) + (5,6)
2,3,4 + 5,6 # il aurait été préférable de mettre les parenthèses...
tuple( i for i in range(10) )