Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédenteDernière révisionLes deux révisions suivantes | ||
python:bases:tuples [2022/01/31 19:33] – [4. Construction] phil | python:bases:tuples [2022/08/09 15:37] – [8. tuple unpacking] phil | ||
---|---|---|---|
Ligne 12: | Ligne 12: | ||
* ** Mots-clés** : immuable, unpacking, tuple | * ** Mots-clés** : immuable, unpacking, tuple | ||
- | <note important>Les mots ci-dessous sont dits " | + | <callout type=" |
| and | continue | | and | continue | ||
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' | 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' | ||
- | <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**.</ | + | <callout type=" |
==== 2. Création ==== | ==== 2. Création ==== | ||
Ligne 36: | Ligne 36: | ||
<code python *.py> | <code python *.py> | ||
# Affectation simple | # Affectation simple | ||
- | tp = " | + | >>> |
- | tp = () # Création d'un tuple vide (peu d' | + | >>> |
- | tp = 6, # un seul élément nécessite une virgule !!! | + | >>> |
# Les parenthèses sont obligatoires dès que l' | # Les parenthèses sont obligatoires dès que l' | ||
- | tp = 3, | + | >>> |
>>> | >>> | ||
# Tuple contenant des tuples | # Tuple contenant des tuples | ||
- | t2d = (1," | + | >>> |
- | (2," | + | # |
- | # Affectation | + | # Affectation |
- | a,b,c = 1,2,3 # a=1, b=2, c=3 | + | >>> |
</ | </ | ||
- | <note important>Un tuple avec **un seul élément** nécessite une **virgule**.</ | + | <callout type=" |
==== 3. Accès aux éléments ==== | ==== 3. Accès aux éléments ==== | ||
Ligne 70: | Ligne 70: | ||
* **Issue d'une concatenation avec +** | * **Issue d'une concatenation avec +** | ||
- | <note>Bien que le type tuple soit immuable, il est tout à fait légal d'" | + | <callout type=" |
//Exemple// | //Exemple// | ||
Ligne 104: | Ligne 104: | ||
====6. Modification !==== | ====6. Modification !==== | ||
- | <note warning> | + | <callout type="warning" icon=" |
//Exemple// | //Exemple// | ||
Ligne 148: | Ligne 148: | ||
====8. tuple unpacking ==== | ====8. tuple unpacking ==== | ||
- | <note tip> | + | <callout type="tip" icon=" |
//Exemple 1// | //Exemple 1// | ||
Ligne 168: | Ligne 168: | ||
</ | </ | ||
- | <note warning>Les seules contraintes fixées par Python sont que : \\ | + | <callout icon=" |
- le terme à droite du signe = soit un itérable (tuple, liste, string, etc.) ; \\ | - le terme à droite du signe = soit un itérable (tuple, liste, string, etc.) ; \\ | ||
- le terme à gauche soit écrit comme un tuple ou une liste - notons tout de même que l' | - le terme à gauche soit écrit comme un tuple ou une liste - notons tout de même que l' | ||
- | - les deux termes aient la même longueur - en tout cas avec les concepts que l'on a vus jusqu' | + | - les deux termes aient la même longueur - en tout cas avec les concepts que l'on a vus jusqu' |
//Exemple 3// | //Exemple 3// | ||
- | <note tip> Il est possible de faire une boucle for qui itère sur une seule liste mais qui agit sur **plusieurs variables**.</ | + | <callout type="tip" icon=" |
<code python *.py> | <code python *.py> | ||
Ligne 190: | Ligne 190: | ||
====9. Extended unpacking==== | ====9. Extended unpacking==== | ||
- | <note>Le mécanisme ici est une extension de sequence unpacking ; Python vous autorise à mentionner une seule fois, parmi les variables qui apparaissent à gauche de l' | + | <callout type=" |
//Exemple 1// | //Exemple 1// | ||
Ligne 215: | Ligne 215: | ||
</ | </ | ||
- | <note conseil>On peut utiliser plusieurs fois la même variable dans la partie gauche de l' | + | <callout type=" |
Cette technique n'est utilisée en pratique que pour les parties de la structure dont on n'a que faire dans le contexte. Dans ces cas-là, il arrive qu'on utilise le nom de variable _. | Cette technique n'est utilisée en pratique que pour les parties de la structure dont on n'a que faire dans le contexte. Dans ces cas-là, il arrive qu'on utilise le nom de variable _. |