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édente Prochaine révisionLes deux révisions suivantes | ||
python:bases:listes [2024/02/28 19:07] – [2. Construction] phil | python:bases:listes [2024/02/29 08:18] – [9. Liste de listes (tableaux à plusieurs dimensions)] phil | ||
---|---|---|---|
Ligne 38: | Ligne 38: | ||
// | // | ||
<code python *.py> | <code python *.py> | ||
- | # Deux variables pointent vers le même objet | + | # Deux variables pointent vers le même objet (aliasing) |
t1 = [' | t1 = [' | ||
t2 = t1 # Python ne crée pas un autre tableau mais une référence (pointeur) vers t1 | t2 = t1 # Python ne crée pas un autre tableau mais une référence (pointeur) vers t1 | ||
Ligne 104: | Ligne 104: | ||
//Exemple// | //Exemple// | ||
+ | {{ : | ||
<code python *.py> | <code python *.py> | ||
impaire = [1, | impaire = [1, | ||
Ligne 118: | Ligne 119: | ||
//Exemple// | //Exemple// | ||
+ | {{ : | ||
<code python *.py> | <code python *.py> | ||
t1 = [1,2,3] | t1 = [1,2,3] | ||
t2 = [4,5,6] | t2 = [4,5,6] | ||
t3 = t1 + t2 | t3 = t1 + t2 | ||
- | print(t3) | + | print(t3) |
+ | |||
+ | # Résultat : [1, | ||
</ | </ | ||
==== 5. Suppression d' | ==== 5. Suppression d' | ||
Ligne 182: | Ligne 186: | ||
</ | </ | ||
- | <callout type=" | + | <callout type=" |
* Utilisation de **enumerate** | * Utilisation de **enumerate** | ||
- | <callout type=" | + | <callout type=" |
+ | |||
+ | * __Syntaxe__ | ||
+ | * enumerate(iterable) | ||
+ | * enumerate(iterable, | ||
<code python *.py> | <code python *.py> | ||
adresse =[' | adresse =[' | ||
for element in enumerate(adresse): | for element in enumerate(adresse): | ||
- | print(element) | + | print(element) |
- | (1, ' | + | |
- | # pour récupérer la position indépendamment de la valeur, on utilise deux variables | + | # Résultat |
+ | (0, ' | ||
+ | (1, ' | ||
+ | |||
+ | # Pour récupérer la position indépendamment de la valeur, on utilise deux variables | ||
for i, val in enumerate(adresse): | for i, val in enumerate(adresse): | ||
print(val," | print(val," | ||
+ | |||
# Résultat | # Résultat | ||
# Lycée est à la position 0 | # Lycée est à la position 0 | ||
# Pierre-Emile est à la position 1 etc. | # Pierre-Emile est à la position 1 etc. | ||
</ | </ | ||
+ | {{ : | ||
==== 7. Affectation sur les slices ==== | ==== 7. Affectation sur les slices ==== | ||
- | <callout type=" | + | <callout type=" |
// Exemple //: remplacement d' | // Exemple //: remplacement d' | ||
+ | {{ : | ||
<code python *.py> | <code python *.py> | ||
l=[0, | l=[0, | ||
l[4: | l[4: | ||
- | # Les éléments | + | # Les éléments |
- | # puis remplacés par 4,5,6 | + | # puis remplacés par les valeurs |
+ | # 6 est ajouté avant 7. 7,8,9 sont décalés) | ||
# Résultat : [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] | # Résultat : [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] | ||
</ | </ | ||
// Exemple //: effacement d' | // Exemple //: effacement d' | ||
+ | {{ : | ||
<code python *.py> | <code python *.py> | ||
l=[0, | l=[0, | ||
- | l[4: | + | l[4: |
- | # | + | # |
# Résultat : [0, | # Résultat : [0, | ||
</ | </ | ||
Ligne 223: | Ligne 238: | ||
==== 8. Compréhensions de liste ==== | ==== 8. Compréhensions de liste ==== | ||
- | <callout type=" | + | <callout type=" |
+ | // | ||
+ | //liste// = **[**// | ||
- | //Exemples// | + | //Exemple de création d'une liste par compréhension// |
+ | |||
+ | <code python *.py> | ||
+ | # Forme habituelle | ||
+ | t = [0]*100 | ||
+ | for i in range(100): | ||
+ | t[i] = 3*i+1 | ||
+ | |||
+ | # Notation par compréhension | ||
+ | t = [3*i+1 for i in range 100] | ||
+ | </ | ||
+ | //Exemples de traitement de listes par compréhension// | ||
+ | {{ : | ||
<code python *.py> | <code python *.py> | ||
prenom = [' | prenom = [' | ||
Ligne 245: | Ligne 274: | ||
[x for x in range(i,j)] | [x for x in range(i,j)] | ||
# ou | # ou | ||
+ | # La fonction prédéfinie list transforme l' | ||
list(range(i, | list(range(i, | ||
</ | </ | ||
Ligne 256: | Ligne 286: | ||
t = [[1, | t = [[1, | ||
</ | </ | ||
- | + | {{ : | |
- | {{ : | + | |
- | * **Accès à un élément** | + | |
- | <code python *.py> | + | |
- | a = t[2][1] # renvoi 2 | + | |
- | </ | + | |
* **Construction par compréhension** | * **Construction par compréhension** | ||
Ligne 267: | Ligne 292: | ||
# Tableau 3 x 5 | # Tableau 3 x 5 | ||
t = [[0]*5 for i in range(3)] | t = [[0]*5 for i in range(3)] | ||
+ | </ | ||
+ | |||
+ | {{ : | ||
+ | <callout type=" | ||
+ | |||
+ | * **Accès à un élément** | ||
+ | <code python *.py> | ||
+ | a = t[2][1] # renvoi 2 | ||
</ | </ | ||