python:bases:tuples

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
Prochaine révisionLes deux révisions suivantes
python:bases:tuples [2022/01/31 19:23] – [3. Accès aux éléments] philpython:bases:tuples [2022/08/09 15:29] – [2. Création] phil
Ligne 29: Ligne 29:
 Le tuple est une séquence. Comme la liste, il référence des objets hétérogène. On peut lui appliquer le test d'appartenance avec **in**, accéder aux différents éléments avec un crochet, faire du slicing etc. La raison d'être principale du type tuple est de construire des objets globalement immuables. Le tuple est une séquence. Comme la liste, il référence des objets hétérogène. On peut lui appliquer le test d'appartenance avec **in**, accéder aux différents éléments avec un crochet, faire du slicing etc. La raison d'être principale du type tuple est de construire des objets globalement immuables.
  
-<note Important>Un **tuple**, ou **P-uplet** est une liste de **constantes**. Il est **immuable** donc non modifiable. Les **parenthèses (  )** délimitent les **tuples**.</note>+<callout type="warning" icon="true">Un **tuple**, ou **P-uplet** est une liste de **constantes**. Il est **immuable** donc non modifiable. Les **parenthèses (  )** délimitent les **tuples**.</callout>
  
 ==== 2. Création ==== ==== 2. Création ====
Ligne 36: Ligne 36:
 <code python *.py> <code python *.py>
 # Affectation simple # Affectation simple
-tp =  "a","b",4 # Création d'un tuple à 3 éléments  +>>> tp =  "a","b",4 # Création d'un tuple à 3 éléments  
-tp = () # Création d'un tuple vide (peu d'intérêt) +>>> tp = () # Création d'un tuple vide (peu d'intérêt) 
-tp = 6, # un élément nécessite une virgule+>>> tp = 6, # un seul élément nécessite une virgule !!!
  
 # Les parenthèses sont obligatoires dès que l'écriture d'un tuple est contenu dans une expression plus longue. # Les parenthèses sont obligatoires dès que l'écriture d'un tuple est contenu dans une expression plus longue.
-tp = 3,(1,True,4.5,8, "a") # différent types+>>> tp = 3,(1,True,4.5,8, "a") # différent types 
 +>>> tp # renvoie (3, (1, True, 4.5, 8, 'a'))
  
 # Tuple contenant des tuples # Tuple contenant des tuples
-t2d = (1,"a"), # équivalent à (1,"a"),(2,"b") +>>> t2d = (1,"a"), (2,"b"# équivalent à (1,"a"), 
-      (2,"b")+                           #              (2,"b")
  
-# Affectation  multiple  +# Affectation  multiple = tuple unpacking 
-a,b,c = 1,2,3 # a=1, b=2, c=3+>>> a,b,c = 1,2,3 # a=1, b=2, c=3
 </code> </code>
  
-<note important>Un tuple avec **un seul élément** nécessite une **virgule**.</note>+<callout type="warning" icon="true">Un tuple avec **un seul élément** nécessite une **virgule**.</callout>
  
 ==== 3. Accès aux éléments ==== ==== 3. Accès aux éléments ====
Ligne 66: Ligne 67:
 </code> </code>
  
-====4. Construction==== +==== 4. Construction ==== 
- +  * **Issue d'une concatenation avec +**
-  * **Concatenation avec +**+
  
 <note>Bien que le type tuple soit immuable, il est tout à fait légal d'"additionner" deux tuples, et l'"addition" va produire un **nouveau** tuple</note> <note>Bien que le type tuple soit immuable, il est tout à fait légal d'"additionner" deux tuples, et l'"addition" va produire un **nouveau** tuple</note>
Ligne 74: Ligne 74:
 //Exemple// //Exemple//
 <code python *.py> <code python *.py>
-tuple1 = (1, 2,) +>>> tuple1 = (1, 2,) 
-tuple2 = (3, 4,) +>>> tuple2 = (3, 4,) 
-print('Resultat:', tuple1 + tuple2) # Résultat: (1, 2, 3, 4)+>>> print('Resultat:', tuple1 + tuple2) # Résultat: (1, 2, 3, 4)
 </code> </code>
  
-  * ** Concaténation avec * **+  * ** Issue d'une concaténation avec * **
 //Exemple// //Exemple//
 <code python *.py> <code python *.py>
-tuple3 = 3*tuple1 # (1,2,1,2,1,2)+>>> tuple3 = 3*tuple1 # Renvoie (1,2,1,2,1,2)
 </code> </code>
  
-  * **A partir d'une liste**+  * **Issue d'une liste**
 //Exemple// //Exemple//
 <code python *.py> <code python *.py>
-liste = list(range(10)) # résultat[0,1,2,3,4,5,6,7,8,9] +>>> liste = list(range(10)) # résultat[0,1,2,3,4,5,6,7,8,9] 
-liste[9] = 'Inconnu' # résultat[0,1,2,3,4,5,6,7,8,'Inconnu'+>>> liste[9] = 'Inconnu' # résultat[0,1,2,3,4,5,6,7,8,'Inconnu'
-del liste [2:5] # résultat : [0, 1, 5, 6, 7, 8, 'Inconnu'+>>> del liste [2:5] # résultat : [0, 1, 5, 6, 7, 8, 'Inconnu'
-mon_tuple = tuple(liste) # résultat : (0, 1, 5, 6, 7, 8, 'Inconnu')+>>> mon_tuple = tuple(liste) # résultat : (0, 1, 5, 6, 7, 8, 'Inconnu')
 </code> </code>
  
Ligne 98: Ligne 98:
  
 <code python *.py> <code python *.py>
-t = "a","b","c" +>>> t = "a","b","c" 
-"c" in  t # renvoie True +>>> "c" in  t # renvoie True 
-"d" in  t # renvoie False+>>> "d" in  t # renvoie False
 </code> </code>
  
Ligne 109: Ligne 109:
  
 <code python *.py> <code python *.py>
-tp = "a",2,8,7,"b"+>>> tp = "a",2,8,7,"b"
 >>> tp # renvoie ('a', 2, 8, 7, 'b') >>> tp # renvoie ('a', 2, 8, 7, 'b')
 >>> tp[2] = 3 # Renvoie une erreur car un tuple est immuable >>> tp[2] = 3 # Renvoie une erreur car un tuple est immuable
Ligne 115: Ligne 115:
               #       File "<stdin>", line 1, in <module>               #       File "<stdin>", line 1, in <module>
               #  TypeError: 'tuple' object does not support item assignment               #  TypeError: 'tuple' object does not support item assignment
-lst = list(tp)+>>> lst = list(tp)
 >>> lst # renvoie la liste ['a', 2, 8, 7, 'b'] >>> lst # renvoie la liste ['a', 2, 8, 7, 'b']
-lst[2] = 3 # modification de la liste +>>> lst[2] = 3 # modification de la liste 
-tp = tuple(lst) # conversion en un tuple+>>> tp = tuple(lst) # conversion en un tuple
 >>> tp # renvoie le tuple ('a', 2, 3, 7, 'b') >>> tp # renvoie le tuple ('a', 2, 3, 7, 'b')
 </code> </code>
  • python/bases/tuples.txt
  • Dernière modification : 2022/08/29 18:52
  • de phil