Maison > Article > développement back-end > Explication détaillée des opérations de tuple Python
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
#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.
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 28. 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.
>>> 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 1ne 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 : Quand on met les éléments de la liste ' A' et 'B' Après changement en 'X' et 'Y', le tuple devient : 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é.