Python 2 : Différence entre versions
De TARENTINO
Aller à la navigationAller à la recherche| Ligne 148 : | Ligne 148 : | ||
</syntaxhighlight> | </syntaxhighlight> | ||
| − | === Compter le nombre d'items d'une liste | + | === Compter le nombre d'items d'une liste === |
Il est possible de compter le nombre d'items d'une liste avec la fonction len . | Il est possible de compter le nombre d'items d'une liste avec la fonction len . | ||
| Ligne 157 : | Ligne 157 : | ||
</syntaxhighlight> | </syntaxhighlight> | ||
| − | Compter le nombre d'occurences d'une valeur | + | === Compter le nombre d'occurences d'une valeur === |
| − | + | * Méthode count . | |
| − | |||
<syntaxhighlight lang="python" line='line'> | <syntaxhighlight lang="python" line='line'> | ||
>>> liste = ["a","a","a","b","c","c"] | >>> liste = ["a","a","a","b","c","c"] | ||
| Ligne 168 : | Ligne 167 : | ||
</syntaxhighlight> | </syntaxhighlight> | ||
| − | Trouver l'index d'une valeur | + | === Trouver l'index d'une valeur === |
| − | + | * méthode index. | |
| − | |||
<syntaxhighlight lang="python" line='line'> | <syntaxhighlight lang="python" line='line'> | ||
>>> liste = ["a","a","a","b","c","c"] | >>> liste = ["a","a","a","b","c","c"] | ||
| Ligne 176 : | Ligne 174 : | ||
3 | 3 | ||
</syntaxhighlight> | </syntaxhighlight> | ||
| − | + | === Manipuler une liste === | |
| − | Manipuler une liste | ||
| − | |||
| − | |||
<syntaxhighlight lang="python" line='line'> | <syntaxhighlight lang="python" line='line'> | ||
>>> liste = [1, 10, 100, 250, 500] | >>> liste = [1, 10, 100, 250, 500] | ||
| Ligne 196 : | Ligne 191 : | ||
</syntaxhighlight> | </syntaxhighlight> | ||
| − | Boucler sur une liste | + | === Boucler sur une liste === |
| − | + | * Pour afficher les valeurs d'une liste, on peut utiliser une boucle: | |
| − | Pour afficher les valeurs d'une liste, on peut utiliser une boucle: | ||
<syntaxhighlight lang="python" line='line'> | <syntaxhighlight lang="python" line='line'> | ||
>>> liste = ["a","d","m"] | >>> liste = ["a","d","m"] | ||
| Ligne 209 : | Ligne 203 : | ||
</syntaxhighlight> | </syntaxhighlight> | ||
| − | + | * Récupérer l'index, vous pouvez utiliser la fonction enumerate . | |
<syntaxhighlight lang="python" line='line'> | <syntaxhighlight lang="python" line='line'> | ||
>>> for lettre in enumerate(liste): | >>> for lettre in enumerate(liste): | ||
| Ligne 219 : | Ligne 213 : | ||
</syntaxhighlight> | </syntaxhighlight> | ||
| − | Les valeurs retournées par la boucle sont des tuples. | + | '''Les valeurs retournées par la boucle sont des tuples.''' |
| − | Copier une liste | + | === Copier une liste === |
| − | + | * Beaucoup de débutants font l'erreur de copier une liste de cette manière | |
| − | Beaucoup de débutants font l'erreur de copier une liste de cette manière | ||
<syntaxhighlight lang="python" line='line'> | <syntaxhighlight lang="python" line='line'> | ||
>>> x = [1,2,3] | >>> x = [1,2,3] | ||
| Ligne 228 : | Ligne 221 : | ||
</syntaxhighlight> | </syntaxhighlight> | ||
| − | Or si vous changez une valeur de la liste y , la liste x sera elle aussi affectée par cette modification: | + | * Or si vous changez une valeur de la liste y , la liste x sera elle aussi affectée par cette modification: |
<syntaxhighlight lang="python" line='line'> | <syntaxhighlight lang="python" line='line'> | ||
>>> x = [1,2,3] | >>> x = [1,2,3] | ||
| Ligne 236 : | Ligne 229 : | ||
[4, 2, 3] | [4, 2, 3] | ||
</syntaxhighlight> | </syntaxhighlight> | ||
| − | En fait cette syntaxe permet de travailler sur un même élément nommé différemment | + | * En fait cette syntaxe permet de travailler sur un même élément nommé différemment |
| − | Alors comment copier une liste qui sera indépendante? | + | * Alors comment copier une liste qui sera indépendante? |
<syntaxhighlight lang="python" line='line'> | <syntaxhighlight lang="python" line='line'> | ||
>>> x = [1,2,3] | >>> x = [1,2,3] | ||
| Ligne 248 : | Ligne 241 : | ||
[9, 2, 3] | [9, 2, 3] | ||
</syntaxhighlight> | </syntaxhighlight> | ||
| − | Pour des données plus complexes, | + | * Pour des données plus complexes, utiliser la fonction deepcopy du module copy |
<syntaxhighlight lang="python" line='line'> | <syntaxhighlight lang="python" line='line'> | ||
>>> import copy | >>> import copy | ||
| Ligne 259 : | Ligne 252 : | ||
[[1, 2], [1, 2, 3]] | [[1, 2], [1, 2, 3]] | ||
</syntaxhighlight> | </syntaxhighlight> | ||
| − | Transformer une string en liste | + | === Transformer une string en liste === |
| − | + | * Transformer une chaine de caractère en liste. Méthode split . | |
<syntaxhighlight lang="python" line='line'> | <syntaxhighlight lang="python" line='line'> | ||
>>> ma_chaine = "Olivier:ENGEL:Strasbourg" | >>> ma_chaine = "Olivier:ENGEL:Strasbourg" | ||
| Ligne 267 : | Ligne 260 : | ||
['Olivier', 'ENGEL', 'Strasbourg'] | ['Olivier', 'ENGEL', 'Strasbourg'] | ||
</syntaxhighlight> | </syntaxhighlight> | ||
| − | |||
| − | + | === Transformer une liste en string === | |
| + | * Méthode " join ". | ||
<syntaxhighlight lang="python" line='line'> | <syntaxhighlight lang="python" line='line'> | ||
>>> liste = ["Olivier","ENGEL","Strasbourg"] | >>> liste = ["Olivier","ENGEL","Strasbourg"] | ||
| Ligne 275 : | Ligne 268 : | ||
'Olivier:ENGEL:Strasbourg' | 'Olivier:ENGEL:Strasbourg' | ||
</syntaxhighlight> | </syntaxhighlight> | ||
| − | Trouver un item dans une liste | + | === Trouver un item dans une liste === |
| − | + | * Pour savoir si un élément est dans une liste, utiliser le mot clé in de cette manière: | |
| − | Pour savoir si un élément est dans une liste, | ||
<syntaxhighlight lang="python" line='line'> | <syntaxhighlight lang="python" line='line'> | ||
>>> liste = [1,2,3,5,10] | >>> liste = [1,2,3,5,10] | ||
| Ligne 285 : | Ligne 277 : | ||
False | False | ||
</syntaxhighlight> | </syntaxhighlight> | ||
| − | La fonction range | + | === La fonction range === |
| − | + | * La fonction range génère une liste composée d'une simple suite arithmétique. | |
| − | La fonction range génère une liste composée d'une simple suite arithmétique. | ||
<syntaxhighlight lang="python" line='line'> | <syntaxhighlight lang="python" line='line'> | ||
>>> range(10) | >>> range(10) | ||
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9] | [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] | ||
</syntaxhighlight> | </syntaxhighlight> | ||
| − | Agrandir une liste par une liste | + | === Agrandir une liste par une liste === |
| − | + | * Pour mettre bout à bout deux listes, utiliser la méthode extend | |
| − | Pour mettre bout à bout deux listes, | ||
<syntaxhighlight lang="python" line='line'> | <syntaxhighlight lang="python" line='line'> | ||
>>> x = [1, 2, 3, 4] | >>> x = [1, 2, 3, 4] | ||
| Ligne 302 : | Ligne 292 : | ||
[1, 2, 3, 4, 4, 5, 1, 0] | [1, 2, 3, 4, 4, 5, 1, 0] | ||
</syntaxhighlight> | </syntaxhighlight> | ||
| − | Permutations | + | === Permutations === |
| − | + | * La permutation d'un ensemble d'éléments est une liste de tous les cas possibles. Si vous avez besoin de cette fonctionnalité, inutile de réinventer la roue, itertools s'en occupe pour vous. | |
| − | La permutation d'un ensemble d'éléments est une liste de tous les cas possibles. Si vous avez besoin de cette fonctionnalité, inutile de réinventer la roue, itertools s'en occupe pour vous. | ||
<syntaxhighlight lang="python" line='line'> | <syntaxhighlight lang="python" line='line'> | ||
>>> from itertools import permutations | >>> from itertools import permutations | ||
| Ligne 310 : | Ligne 299 : | ||
[('a', 'b', 'c'), ('a', 'c', 'b'), ('b', 'a', 'c'), ('b', 'c', 'a'), ('c', 'a', 'b'), ('c', 'b', 'a')] | [('a', 'b', 'c'), ('a', 'c', 'b'), ('b', 'a', 'c'), ('b', 'c', 'a'), ('c', 'a', 'b'), ('c', 'b', 'a')] | ||
</syntaxhighlight> | </syntaxhighlight> | ||
| − | Permutation d'une liste de liste | + | === Permutation d'une liste de liste === |
| − | + | * Comment afficher tous les cas possibles d'une liste elle-même composée de liste? Avec l'outil product de itertools : | |
| − | Comment afficher tous les cas possibles d'une liste elle-même composée de liste? Avec l'outil product de itertools : | ||
<syntaxhighlight lang="python" line='line'> | <syntaxhighlight lang="python" line='line'> | ||
>>> from itertools import product | >>> from itertools import product | ||
| Ligne 318 : | Ligne 306 : | ||
[('a', 'c'), ('a', 'd'), ('b', 'c'), ('b', 'd')] | [('a', 'c'), ('a', 'd'), ('b', 'c'), ('b', 'd')] | ||
</syntaxhighlight> | </syntaxhighlight> | ||
| − | Astuces | + | === Astuces === |
| − | + | * Afficher les 2 premiers éléments d'une liste | |
| − | Afficher les 2 premiers éléments d'une liste | ||
<syntaxhighlight lang="python" line='line'> | <syntaxhighlight lang="python" line='line'> | ||
>>> liste = [1,2,3,4,5] | >>> liste = [1,2,3,4,5] | ||
| Ligne 326 : | Ligne 313 : | ||
[1, 2] | [1, 2] | ||
</syntaxhighlight> | </syntaxhighlight> | ||
| − | Afficher le dernier item d'une liste: | + | * Afficher le dernier item d'une liste: |
<syntaxhighlight lang="python" line='line'> | <syntaxhighlight lang="python" line='line'> | ||
>>> liste = [1, 2, 3, 4, 5, 6] | >>> liste = [1, 2, 3, 4, 5, 6] | ||
| Ligne 332 : | Ligne 319 : | ||
6 | 6 | ||
</syntaxhighlight> | </syntaxhighlight> | ||
| − | Afficher le 3ème élément en partant de la fin: | + | * Afficher le 3ème élément en partant de la fin: |
<syntaxhighlight lang="python" line='line'> | <syntaxhighlight lang="python" line='line'> | ||
>>> liste = [1, 2, 3, 4, 5, 6] | >>> liste = [1, 2, 3, 4, 5, 6] | ||
| Ligne 338 : | Ligne 325 : | ||
4 | 4 | ||
</syntaxhighlight> | </syntaxhighlight> | ||
| − | Afficher les 3 derniers éléments d'une liste: | + | * Afficher les 3 derniers éléments d'une liste: |
<syntaxhighlight lang="python" line='line'> | <syntaxhighlight lang="python" line='line'> | ||
>>> liste = [1, 2, 3, 4, 5, 6] | >>> liste = [1, 2, 3, 4, 5, 6] | ||
| Ligne 344 : | Ligne 331 : | ||
[4, 5, 6] | [4, 5, 6] | ||
</syntaxhighlight> | </syntaxhighlight> | ||
| − | + | * Additionner deux listes pour les combiner ensemble en utilisant l'opérateur + : | |
<syntaxhighlight lang="python" line='line'> | <syntaxhighlight lang="python" line='line'> | ||
>>> x = [1, 2, 3] | >>> x = [1, 2, 3] | ||
| Ligne 351 : | Ligne 338 : | ||
[1, 2, 3, 4, 5, 6] | [1, 2, 3, 4, 5, 6] | ||
</syntaxhighlight> | </syntaxhighlight> | ||
| − | + | * Mutiplier une liste: | |
<syntaxhighlight lang="python" line='line'> | <syntaxhighlight lang="python" line='line'> | ||
>>> x = [1, 2] | >>> x = [1, 2] | ||
| Ligne 357 : | Ligne 344 : | ||
[1, 2, 1, 2, 1, 2, 1, 2, 1, 2] | [1, 2, 1, 2, 1, 2, 1, 2, 1, 2] | ||
</syntaxhighlight> | </syntaxhighlight> | ||
| − | + | * Utile pour initialiser une liste: | |
<syntaxhighlight lang="python" line='line'> | <syntaxhighlight lang="python" line='line'> | ||
>>> [0] * 5 | >>> [0] * 5 | ||
Version du 18 mars 2020 à 06:50
Array
Réferences: Doctor Python Pythonnerie sdz.tdct.org Python en ligne
Sommaire
- 1 Python
- 1.1 Les bases
- 1.2 Les listes
- 1.2.1 Créer une liste en python
- 1.2.2 Voir le contenu de la liste en l'appelant
- 1.2.3 Ajouter une valeur à une liste python
- 1.2.4 Ajouter après la création de la liste avec la méthode append
- 1.2.5 Afficher un item d'une liste
- 1.2.6 Modifier une valeur avec son index
- 1.2.7 Supprimer une entrée avec un index
- 1.2.8 Supprimer une entrée avec sa valeur
- 1.2.9 Inverser les valeurs d'une liste
- 1.2.10 Compter le nombre d'items d'une liste
- 1.2.11 Compter le nombre d'occurences d'une valeur
- 1.2.12 Trouver l'index d'une valeur
- 1.2.13 Manipuler une liste
- 1.2.14 Boucler sur une liste
- 1.2.15 Copier une liste
- 1.2.16 Transformer une string en liste
- 1.2.17 Transformer une liste en string
- 1.2.18 Trouver un item dans une liste
- 1.2.19 La fonction range
- 1.2.20 Agrandir une liste par une liste
- 1.2.21 Permutations
- 1.2.22 Permutation d'une liste de liste
- 1.2.23 Astuces
- 1.3 Fonctions et Méthodes
- 1.4 test
- 1.5 toto
Python
Les bases
|
Les variables par l'exemple
- Affectons une valeur à la variable age
1 >>> age = 30
2 >>> age
3 30
- On va ensuite ajouter 10 à la valeur de cette variable
1 >>> age = 30
2 >>> age = age + 10
3 >>> age
4 40
- Il est possible de mettre une variable dans une autre variable.
1 >>> age = 30
2 >>> age2 = age
3 >>> age2
4 30
- On peut mettre à peu près tout ce qu'on veut dans la variable, y compris du texte:
1 >>> age = "J'ai 30 ans"
2 >>> age
3 "J'ai 30 ans"
- Il est possible de concaténer, c'est à dire d'ajouter du texte à du texte:
1 >>> age = age + " et je suis encore jeune!"
2 >>> age
3 "J'ai 30 ans et je suis encore jeune!"
- On peut même multiplier une chaine de caractères.
1 >>> age = "jeune"
2 >>> age * 3
3 'jeunejeunejeune'
- Evidemment, si on essaie de faire des additions avec des variables qui sont des chiffres et d'autres qui sont du texte, l'interpréteur va hurler
1 >>> age = "J'ai 30 ans"
2 >>> age
3 "J'ai 30 ans"
4 >>> age + 1
5 Traceback (most recent call last):
6 File "<stdin>", line 1, in <module>
7 TypeError: cannot concatenate 'str' and 'int' objects
- On remarquera que l'interpréteur est sympa puisqu'il dit ce qui ne va pas: Il ne peut pas concaténer str et int .
Les listes
|
- Les listes (ou list / array ) en python sont une variable dans laquelle on peut mettre plusieurs variables.
Créer une liste en python
1 >>> liste = []
Voir le contenu de la liste en l'appelant
1 >>> liste
2 <type 'list'>
Ajouter une valeur à une liste python
1 >>> liste = [1,2,3]
2 >>> liste
3 [1, 2, 3]
Ajouter après la création de la liste avec la méthode append
1 >>> liste = []
2 >>> liste
3 []
4 >>> liste.append(1)
5 >>> liste
6 [1]
7 >>> liste.append("ok")
8 >>> liste
9 [1, 'ok']
- Il est possible de mélanger dans une même liste des variables de type différent. On peut d'ailleurs mettre une liste dans une liste.
Afficher un item d'une liste
1 >>> liste = ["a","d","m"]
2 >>> liste[0]
3 'a'
4 >>> liste[2]
5 'm'
Modifier une valeur avec son index
1 >>> liste = ["a","d","m"]
2 >>> liste[0]
3 'a'
4 >>> liste[2]
5 'm'
6 >>> liste[2] = "z"
7 >>> liste
8 ['a', 'd', 'z']
Supprimer une entrée avec un index
- Fonction del .
1 >>> liste = ["a", "b", "c"]
2 >>> del liste[1]
3 >>> liste
4 ['a', 'c']
Supprimer une entrée avec sa valeur
- Supprimer une entrée d'une liste avec sa valeur avec la méthode remove .
1 >>> liste = ["a", "b", "c"]
2 >>> liste.remove("a")
3 >>> liste
4 ['b', 'c']
Inverser les valeurs d'une liste
- Inverser les items d'une liste avec la méthode reverse .
1 >>> liste = ["a", "b", "c"]
2 >>> liste.reverse()
3 >>> liste
4 ['c', 'b', 'a']
Compter le nombre d'items d'une liste
Il est possible de compter le nombre d'items d'une liste avec la fonction len .
1 >>> liste = [1,2,3,5,10]
2 >>> len(liste)
3 5
Compter le nombre d'occurences d'une valeur
- Méthode count .
1 >>> liste = ["a","a","a","b","c","c"]
2 >>> liste.count("a")
3 3
4 >>> liste.count("c")
5 2
Trouver l'index d'une valeur
- méthode index.
1 >>> liste = ["a","a","a","b","c","c"]
2 >>> liste.index("b")
3 3
Manipuler une liste
1 >>> liste = [1, 10, 100, 250, 500]
2 >>> liste[0]
3 1
4 >>> liste[-1] # Cherche la dernière occurence
5 500
6 >>> liste[-4:] # Affiche les 4 dernières occurrences
7 [500, 250, 100, 10]
8 >>> liste[:] # Affiche toutes les occurences
9 [1, 10, 100, 250, 500]
10 >>> liste[2:4] = [69, 70]
11 [1, 10, 69, 70, 500]
12 >>> liste[:] = [] # vide la liste
13 []
Boucler sur une liste
- Pour afficher les valeurs d'une liste, on peut utiliser une boucle:
1 >>> liste = ["a","d","m"]
2 >>> for lettre in liste:
3 ... print lettre
4 ...
5 a
6 d
7 m
- Récupérer l'index, vous pouvez utiliser la fonction enumerate .
1 >>> for lettre in enumerate(liste):
2 ... print lettre
3 ...
4 (0, 'a')
5 (1, 'd')
6 (2, 'm')
Les valeurs retournées par la boucle sont des tuples.
Copier une liste
- Beaucoup de débutants font l'erreur de copier une liste de cette manière
1 >>> x = [1,2,3]
2 >>> y = x
- Or si vous changez une valeur de la liste y , la liste x sera elle aussi affectée par cette modification:
1 >>> x = [1,2,3]
2 >>> y = x
3 >>> y[0] = 4
4 >>> x
5 [4, 2, 3]
- En fait cette syntaxe permet de travailler sur un même élément nommé différemment
- Alors comment copier une liste qui sera indépendante?
1 >>> x = [1,2,3]
2 >>> y = x[:]
3 >>> y[0] = 9
4 >>> x
5 [1, 2, 3]
6 >>> y
7 [9, 2, 3]
- Pour des données plus complexes, utiliser la fonction deepcopy du module copy
1 >>> import copy
2 >>> x = [[1,2], 2]
3 >>> y = copy.deepcopy(x)
4 >>> y[1] = [1,2,3]
5 >>> x
6 [[1, 2], 2]
7 >>> y
8 [[1, 2], [1, 2, 3]]
Transformer une string en liste
- Transformer une chaine de caractère en liste. Méthode split .
1 >>> ma_chaine = "Olivier:ENGEL:Strasbourg"
2 >>> ma_chaine.split(":")
3 ['Olivier', 'ENGEL', 'Strasbourg']
Transformer une liste en string
- Méthode " join ".
1 >>> liste = ["Olivier","ENGEL","Strasbourg"]
2 >>> ":".join(liste)
3 'Olivier:ENGEL:Strasbourg'
Trouver un item dans une liste
- Pour savoir si un élément est dans une liste, utiliser le mot clé in de cette manière:
1 >>> liste = [1,2,3,5,10]
2 >>> 3 in liste
3 True
4 >>> 11 in liste
5 False
La fonction range
- La fonction range génère une liste composée d'une simple suite arithmétique.
1 >>> range(10)
2 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
Agrandir une liste par une liste
- Pour mettre bout à bout deux listes, utiliser la méthode extend
1 >>> x = [1, 2, 3, 4]
2 >>> y = [4, 5, 1, 0]
3 >>> x.extend(y)
4 >>> print x
5 [1, 2, 3, 4, 4, 5, 1, 0]
Permutations
- La permutation d'un ensemble d'éléments est une liste de tous les cas possibles. Si vous avez besoin de cette fonctionnalité, inutile de réinventer la roue, itertools s'en occupe pour vous.
1 >>> from itertools import permutations
2 >>> list(permutations(['a', 'b', 'c']))
3 [('a', 'b', 'c'), ('a', 'c', 'b'), ('b', 'a', 'c'), ('b', 'c', 'a'), ('c', 'a', 'b'), ('c', 'b', 'a')]
Permutation d'une liste de liste
- Comment afficher tous les cas possibles d'une liste elle-même composée de liste? Avec l'outil product de itertools :
1 >>> from itertools import product
2 >>> list(product(['a', 'b'], ['c', 'd']))
3 [('a', 'c'), ('a', 'd'), ('b', 'c'), ('b', 'd')]
Astuces
- Afficher les 2 premiers éléments d'une liste
1 >>> liste = [1,2,3,4,5]
2 >>> liste[:2]
3 [1, 2]
- Afficher le dernier item d'une liste:
1 >>> liste = [1, 2, 3, 4, 5, 6]
2 >>> liste[-1]
3 6
- Afficher le 3ème élément en partant de la fin:
1 >>> liste = [1, 2, 3, 4, 5, 6]
2 >>> liste[-3]
3 4
- Afficher les 3 derniers éléments d'une liste:
1 >>> liste = [1, 2, 3, 4, 5, 6]
2 >>> liste[-3:]
3 [4, 5, 6]
- Additionner deux listes pour les combiner ensemble en utilisant l'opérateur + :
1 >>> x = [1, 2, 3]
2 >>> y = [4, 5, 6]
3 >>> x + y
4 [1, 2, 3, 4, 5, 6]
- Mutiplier une liste:
1 >>> x = [1, 2]
2 >>> x*5
3 [1, 2, 1, 2, 1, 2, 1, 2, 1, 2]
- Utile pour initialiser une liste:
1 >>> [0] * 5
2 [0, 0, 0, 0, 0]
Fonctions et Méthodes
| Les fonctions: [ fonction(paramètres) ]
len(), str(), range() Les méthodes: [ variable.méthode(paramètres) ]
|