Python3 Tuple
Les tuples Python sont similaires aux listes, sauf que les éléments d'un tuple ne peuvent pas être modifiés.
Les tuples utilisent des parenthèses( ), les listes utilisent des crochets[ ]。
Créer un tuple est simple : il suffit d'ajouter des éléments entre parenthèses, séparés par des virgules.

Exemple (Python 3.0+)
>>> tup2 = (1, 2, 3, 4, 5 )
>>> tup3 = "a", "b", "c", "d" # Les parenthèses ne sont pas nécessaires non plus
>>> type(tup3)
<class 'tuple'>
Créer un tuple vide
tup1 = ()
Lorsqu'un tuple ne contient qu'un seul élément, vous devez ajouter une virgule après l'élément,, sinon les parenthèses seront traitées comme un opérateur :
Exemple (Python 3.0+)
>>> type(tup1) # Sans virgule, le type est un entier
<class 'int'>
>>> tup1 = (50,)
>>> type(tup1) # Avec une virgule, le type est un tuple
<class 'tuple'>
Les tuples sont similaires aux chaînes de caractères en ce que l'indexation commence à 0, et ils peuvent être découpés, combinés, etc.

Accès aux tuples
Les tuples peuvent utiliser des numéros d'index pour accéder aux valeurs du tuple, comme dans l'exemple suivant :
Exemple (Python 3.0+)
La sortie de l'exemple ci-dessus est :
tup1[0]: Google tup2[1:5]: (2, 3, 4, 5)
Modification des tuples
Les valeurs des éléments d'un tuple ne peuvent pas être modifiées, mais nous pouvons concaténer et combiner des tuples, comme dans l'exemple suivant :
Exemple (Python 3.0+)
La sortie de l'exemple ci-dessus est :
(12, 34.56, 'abc', 'xyz')
Suppression des tuples
Les valeurs des éléments d'un tuple ne peuvent pas être supprimées, mais nous pouvons utiliser l'instruction del pour supprimer le tuple entier, comme dans l'exemple suivant :
Exemple (Python 3.0+)
Après la suppression du tuple dans l'exemple ci-dessus, l'affichage de la variable provoquera un message d'exception. La sortie est la suivante :
删除后的元组 tup :
Traceback (most recent call last):
File "test.py", line 8, in <module>
print (tup)
NameError: name 'tup' is not defined
Opérateurs de tuples
Comme les chaînes de caractères, les tuples peuvent utiliser le+、+=et*+ signe pour les opérations. Cela signifie qu'ils peuvent être combinés et copiés, et un nouveau tuple sera généré après l'opération.
| Expression Python | Résultat | Description |
|---|---|---|
len((1, 2, 3)) | 3 | Compter le nombre d'éléments |
>>> a = (1, 2, 3) >>> b = (4, 5, 6) >>> c = a+b >>> c (1, 2, 3, 4, 5, 6) | (1, 2, 3, 4, 5, 6) | Concaténation ; c est un nouveau tuple contenant tous les éléments de a et b. |
>>> a = (1, 2, 3) >>> b = (4, 5, 6) >>> a += b >>> a (1, 2, 3, 4, 5, 6) | (1, 2, 3, 4, 5, 6) | Concaténation ; a devient un nouveau tuple contenant tous les éléments de a et b. |
('Hi!',) * 4
| ('Hi!', 'Hi!', 'Hi!', 'Hi!') | Répétition |
3 in (1, 2, 3) | True | Vérifier si un élément existe |
for x in (1, 2, 3):
print (x, end=" ") | 1 2 3 | Itération |
Indexation et découpage des tuples
Comme un tuple est aussi une séquence, nous pouvons accéder aux éléments à des positions spécifiées dans le tuple, et également extraire une tranche d'éléments à partir d'indices, comme indiqué ci-dessous :
Tuple :
tup = ('Google', 'Example', 'Taobao', 'Wiki', 'Weibo','Weixin')

| Expression Python | Résultat | Description |
|---|---|---|
| tup[1] | 'Example' | Lire le deuxième élément |
| tup[-2] | 'Weibo' | Lire à l'envers ; lire l'avant-dernier élément |
| tup[1:] | ('Example', 'Taobao', 'Wiki', 'Weibo', 'Weixin') | Découpage : tous les éléments à partir du deuxième élément |
| tup[1:4] | ('Example', 'Taobao', 'Wiki') | Découpage : du deuxième élément au quatrième élément (indice 3) |
Un exemple d'exécution est le suivant :
Exemple
>>> tup[1]
'Example'
>>> tup[-2]
'Weibo'
>>> tup[1:]
('Example', 'Taobao', 'Wiki', 'Weibo', 'Weixin')
>>> tup[1:4]
('Example', 'Taobao', 'Wiki')
>>>
Fonctions intégrées des tuples
Les tuples Python incluent les fonctions intégrées suivantes
| Numéro | Méthode et description | Exemple |
|---|---|---|
| 1 | len(tuple) Compter le nombre d'éléments dans un tuple. |
>>> tuple1 = ('Google', 'Example', 'Taobao')
>>> len(tuple1)
3
>>>
|
| 2 | max(tuple) Renvoie la valeur maximale des éléments d'un tuple. |
>>> tuple2 = ('5', '4', '8')
>>> max(tuple2)
'8'
>>>
|
| 3 | min(tuple) Renvoie la valeur minimale des éléments d'un tuple. |
>>> tuple2 = ('5', '4', '8')
>>> min(tuple2)
'4'
>>>
|
| 4 | tuple(iterable) Convertir une série itérable en un tuple. |
>>> list1= ['Google', 'Taobao', 'Example', 'Baidu']
>>> tuple1=tuple(list1)
>>> tuple1
('Google', 'Taobao', 'Example', 'Baidu')
|
À propos de l'immuabilité des tuples
L'immuabilité dite d'un tuple signifie que le contenu en mémoire pointé par le tuple est immuable.
>>> tup[0] = 'g' # La modification des éléments n'est pas prise en charge
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'tuple' objet ne prend pas en charge l'affectation d'élément
>>> id(tup) # Vérifier l'adresse mémoire
4440687904
>>> tup = (1,2,3)
>>> id(tup)
4441088800 # L'adresse mémoire est différente
À partir de l'exemple ci-dessus, on peut voir que le tuple tup réaffecté est lié à un nouvel objet, sans modifier l'objet d'origine.
Autres extensions