Maison >développement back-end >Tutoriel Python >Explication détaillée des opérations de tuple Python

Explication détaillée des opérations de tuple Python

高洛峰
高洛峰original
2017-01-13 16:22:592783parcourir

1. Créer un tuple

tup1 = ('physics', 'chemistry', 1997, 2000);
tup2 = (1, 2, 3, 4, 5 );
tup3 = "a", "b", "c", "d";

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 pour éliminer toute ambiguïté.

tup1 = (50,);

Les tuples sont similaires aux chaînes. L'index d'indice commence à 0 et peut être intercepté, combiné, etc.
2. Accédez au tuple
Le tuple peut utiliser l'index d'indice pour accéder à la valeur dans le tuple, comme indiqué dans l'exemple suivant :

#!/usr/bin/python
tup1 = ('physics', 'chemistry', 1997, 2000);
tup2 = (1, 2, 3, 4, 5, 6, 7 );
print "tup1[0]: ", tup1[0]
print "tup2[1:5]: ", tup2[1:5]
#以上实例输出结果:
#tup1[0]:  physics
#tup2[1:5]:  [2, 3, 4, 5]

3. Les valeurs des éléments de tuple ne peuvent pas être modifiées, mais nous pouvons connecter et combiner des tuples, comme le montre l'exemple suivant :

#!/usr/bin/python
tup1 = (12, 34.56);
tup2 = ('abc', 'xyz');
# 以下修改元组元素操作是非法的。
# tup1[0] = 100;
# 创建一个新的元组
tup3 = tup1 + tup2;
print tup3;
#以上实例输出结果:
#(12, 34.56, 'abc', 'xyz')
4. Supprimer les tuples

Les valeurs des éléments dans les tuples sont pas autorisé à être supprimé. Mais nous pouvons utiliser l'instruction del pour supprimer le tuple entier, comme le montre l'exemple suivant :

#!/usr/bin/python
tup = ('physics', 'chemistry', 1997, 2000);
print tup;
del tup;
print "After deleting tup : "
print tup;
#Une fois l'exemple de tuple ci-dessus supprimé, la variable de sortie aura une exception. informations, et le résultat est le suivant :

#( 'physique', 'chimie', 1997, 2000)
#Après la suppression de tup :
#Traceback (dernier appel le plus récent) :
# Fichier "test.py", ligne 9, dans # print tup;
#NameError : le nom 'tup' n'est pas défini[/code]
Opérateur de tuple
Like. chaînes, les tuples peuvent être séparés par des symboles et un signe * pour effectuer des opérations. Cela signifie qu'ils peuvent être combinés et copiés, ce qui donne lieu à un nouveau tuple.


6. Index du tuple, interception

Parce que le tuple est aussi une séquence, on peut accéder à l'élément à la position spécifiée dans le tuple, ou intercepter l'index A section d'éléments, comme indiqué ci-dessous :
Tuple :

L = ('spam', 'Spam', 'SPAM!')
7. Aucun délimiteur de fermeture

Tout objet non signé séparé par des virgules, la valeur par défaut est un tuple, comme indiqué dans l'exemple suivant :

#!/usr/bin/python
print 'abc', -4.24e93, 18+6.6j, 'xyz';
x, y = 1, 2;
print "Value of x , y : ", x,y;
L'exemple ci-dessus permet le résultat :

abc -4.24e+93 (18+6.6j) xyz
Value of x , y : 1 2
8. Fonctions intégrées de tuple

Les tuples Python incluent les fonctions intégrées suivantes
1. (tuple1, tuple2) : compare deux éléments de tuple.
2. len(tuple) : Calculez le nombre d'éléments du tuple.
3. max(tuple) : renvoie la valeur maximale de l'élément dans le tuple.
4. min(tuple) : renvoie la valeur minimale de l'élément dans le tuple.
5. tuple(seq) : Convertissez la liste en tuple.


9. Une autre interprétation

tuple est très similaire à la liste, mais une fois initialisé, le tuple ne peut pas être modifié. Par exemple, les noms des camarades de classe le sont également. listé :

>>> classmates = ('Michael', 'Bob', 'Tracy')
Maintenant, le tuple des classes ne peut pas être modifié et il n'a pas de méthodes telles que append() et insert(). Les autres méthodes d'obtention d'éléments sont les mêmes que les listes. Vous pouvez utiliser les classes[0] et les classes[-1] normalement, mais elles ne peuvent pas être affectées à d'autres éléments.

Quelle est la signification d'un tuple immuable ? Les tuples étant immuables, le code est plus sûr. Si possible, utilisez un tuple au lieu d'une liste. Pièges de
tuple : Lorsque vous définissez un tuple, les éléments du tuple doivent être déterminés au moment de la définition, par exemple :

>>> t = (1, 2)
>>> t
(1, 2)
Si vous souhaitez définir un tuple vide, vous pouvez write ( ) :

>>> t = ()
>>> t
()
Cependant, pour définir un tuple avec 1 seul élément, si vous le définissez ainsi :

>>> t = (1)
>>> t
1
ne définit pas un tuple, mais le chiffre 1 ! En effet, les parenthèses () peuvent représenter à la fois des tuples et des parenthèses dans les formules mathématiques, ce qui crée une ambiguïté. Par conséquent, Python stipule que dans ce cas, les calculs sont effectués selon les parenthèses et que le résultat du calcul est naturellement 1.

Par conséquent, une virgule doit être ajoutée lors de la définition d'un tuple avec un seul élément pour éliminer toute ambiguïté :

>>> t = (1,)
>>> t
(1,)
Python ajoutera également une virgule lors de l'affichage d'un tuple avec un seul élément. comme parenthèses au sens de calculs mathématiques.

Regardons un tuple "variable" :

>>> t = ('a', 'b', ['A', 'B'])
>>> t[2][0] = 'X'
>>> t[2][1] = 'Y'
>>> t
('a', 'b', ['X', 'Y'])
Ce tuple comporte trois éléments lorsqu'il est défini, à savoir 'a', 'b' et une liste. Cela ne signifie-t-il pas que le tuple est immuable une fois défini ? Pourquoi a-t-il changé plus tard ?

Ne vous inquiétez pas, regardons les trois éléments contenus dans le tuple lors de sa définition :

Python 元组(Tuple)操作详解

Quand on met les éléments de la liste ' A' et 'B' Après changement en 'X' et 'Y', le tuple devient :

Python 元组(Tuple)操作详解

En surface, les éléments du tuple ont bien changé, mais en fait, ce ne sont pas les éléments du tuple qui ont changé, mais les éléments de la liste. La liste pointée par le tuple au début n'a pas été remplacée par une autre liste. Par conséquent, le soi-disant "inchangé" du tuple signifie que chaque élément du tuple ne changera jamais. Autrement dit, s'il pointe vers « a », il ne peut pas être modifié pour pointer vers « b ». S'il pointe vers une liste, il ne peut pas être modifié pour pointer vers d'autres objets, mais la liste vers laquelle il pointe est variable !

Après avoir compris "le pointeur ne change pas", comment créer un tuple dont le contenu ne change pas ? Ensuite, il faut s'assurer que chaque élément du tuple lui-même ne peut pas être modifié.

Pour des explications plus détaillées sur les opérations de tuple Python et les articles connexes, veuillez faire attention au site Web PHP chinois !


Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn