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+)

>>> tup1 = ('Google', 'Example', 1997, 2000)
>>> 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+)

>>> tup1 = (50)
>>> 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+)

#!/usr/bin/python3 tup1 = ('Google', 'Example', 1997, 2000) tup2 = (1, 2, 3, 4, 5, 6, 7 ) print ("tup1[0]: ", tup1[0]) print ("tup2[1:5]: ", tup2[1:5])

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+)

#!/usr/bin/python3 tup1 = (12, 34.56) tup2 = ('abc', 'xyz') # L'opération suivante visant à modifier un élément de tuple est illégale. # tup1[0] = 100 # Créer un nouveau tuple tup3 = tup1 + tup2 print (tup3)

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+)

#!/usr/bin/python3 tup = ('Google', 'Example', 1997, 2000) print (tup) del tup print ("Le tuple tup après suppression :") print (tup)

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 PythonRésultatDescription
len((1, 2, 3))
3Compter 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)
TrueVérifier si un élément existe
for x in (1, 2, 3): 
    print (x, end=" ")
1 2 3Ité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 PythonRésultatDescription
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 = ('Google', 'Example', 'Taobao', 'Wiki', 'Weibo','Weixin')
>>> 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éroMéthode et descriptionExemple
1len(tuple)
Compter le nombre d'éléments dans un tuple.
>>> tuple1 = ('Google', 'Example', 'Taobao')
>>> len(tuple1)
3
>>> 
2max(tuple)
Renvoie la valeur maximale des éléments d'un tuple.
>>> tuple2 = ('5', '4', '8')
>>> max(tuple2)
'8'
>>> 
3min(tuple)
Renvoie la valeur minimale des éléments d'un tuple.
>>> tuple2 = ('5', '4', '8')
>>> min(tuple2)
'4'
>>> 
4tuple(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 = ('r', 'u', 'n', 'o', 'o', 'b')
>>> 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