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

高洛峰
Libérer: 2017-01-13 16:22:59
original
2766 Les gens l'ont consulté

1. Créer un tuple

tup1 = ('physics', 'chemistry', 1997, 2000);
tup2 = (1, 2, 3, 4, 5 );
tup3 = "a", "b", "c", "d";
Copier après la connexion

Créer un tuple vide

tup1 = ();
Copier après la connexion

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,);
Copier après la connexion

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]
Copier après la connexion

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')
Copier après la connexion
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;
Copier après la connexion
#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!')
Copier après la connexion
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;
Copier après la connexion
L'exemple ci-dessus permet le résultat :

abc -4.24e+93 (18+6.6j) xyz
Value of x , y : 1 2
Copier après la connexion
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')
Copier après la connexion
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)
Copier après la connexion
Si vous souhaitez définir un tuple vide, vous pouvez write ( ) :

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

>>> t = (1)
>>> t
1
Copier après la connexion
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,)
Copier après la connexion
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'])
Copier après la connexion
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 !


Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal