Listes python

Les listes (list / array ) en python sont des variables dans lesquelles on peut mettre plusieurs variables.

Python3


Création d’une liste

python
1
2
3
liste = []
liste
[]

Ajout valeur

python
1
2
3
liste = [1,2,3]
liste
[1, 2, 3]

Exemple append

python
1
2
3
4
5
liste = []
liste.append(1)
liste.append("ok")
liste
[1, 'ok']

Par item

python
1
2
3
liste = ["a","b","c"]
liste[0]
'a'

Modif valeur item

python
1
2
3
4
liste = ["x","y","z"]
liste[2] = "a"
liste
['x', 'y', 'a']

Suppression item

python
1
2
3
4
liste = ["a", "b", "c"]
del liste[1]
liste
['a', 'c']

Suppression par valeur

python
1
2
3
liste.remove("a")
liste
['c']

Reverse

python
1
2
3
4
liste = ["a", "b", "c"]
liste.reverse()
liste
['c', 'b', 'a']

Compter les items

python
1
2
3
4
liste = ["a", "b", "c"]
len(liste)
liste
3

Compter les occurences d’un item

python
1
2
3
4
5
liste = ["a","a","a","b","c","c"]
liste.count("a")
3
liste.count("c")
2

Trouver l’index d’un item

python
1
2
3
liste = ["a","a","a","b","c","c"]
liste.index("b")
3

Manipuler une liste

python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
liste = ["orange", "bleu", "jaune", "vert", "violet"]
liste[0]
'orange'
liste[-1] # Cherche la dernière occurence
'violet'
liste[-4:] # Affiche les 4 dernières occurrences
['bleu', 'jaune', 'vert', 'violet']
liste[:] # Affiche toutes les occurences
['orange', 'bleu', 'jaune', 'vert', 'violet']
liste[2:4] = ["satin", "gris"]
liste
['orange', 'bleu', 'satin', 'gris', 'violet']
liste[:] = [] # vide la liste
liste
[]

Loop sur une liste

python
1
2
3
4
5
6
7
8
liste = ["orange", "bleu", "jaune", "vert", "violet"]
for couleur in liste:
    print(couleur)
orange
bleu
jaune
vert
violet

Récypération d’index avec avec enumerate

python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
liste = ["orange", "bleu", "jaune", "vert", "violet"]
for couleur in enumerate(liste):
    print(couleur)
    print(type(couleur))
(0, 'orange')
<class 'tuple'>
(1, 'bleu')
<class 'tuple'>
(2, 'jaune')
<class 'tuple'>
(3, 'vert')
<class 'tuple'>
(4, 'violet')
<class 'tuple'>

Copier une liste

python
1
2
3
4
5
6
7
x = ["orange", "bleu", "jaune", "vert", "violet"]
y = x
y
['orange', 'bleu', 'jaune', 'vert', 'violet']
y[0] = "rose"
x
['rose', 'bleu', 'jaune', 'vert', 'violet'] # /!\ Affecte les 2 listes

Copier une liste de façon indépendante

python
1
2
3
4
5
6
7
x = ["orange", "bleu", "jaune", "vert", "violet"]
y = x[:]
y[0] = "rose"
y
['rose', 'bleu', 'jaune', 'vert', 'violet']
x
['orange', 'bleu', 'jaune', 'vert', 'violet']

Copier une liste avec la fonction deepcopy du module copy

python
1
2
3
4
5
6
7
x = ["orange", "bleu", "jaune", "vert", "violet"]
y = copy.deepcopy(x)
y[1] = ["jaune", "vert", "violet"]
x
[['orange', 'bleu'], 'jaune', 'vert', 'violet']
y
[['orange', 'bleu'], ['jaune', 'vert', 'violet'], 'vert', 'violet']

List to string

python
1
2
3
liste = ["orange", "bleu", "jaune", "vert", "violet"]
":".join(liste)
'orange:bleu:jaune:vert:violet'

String to List

python
1
2
3
liste = 'orange:bleu:jaune:vert:violet'
liste.split(":")
['orange', 'bleu', 'jaune', 'vert', 'violet']

Vérifier l’existance d’un item dans une liste

python
1
2
3
4
5
liste = [1,2,3,5,10]
3 in liste
True
45 in liste
False

Fonction range suite arithmétique

python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
range(10)
range(0, 10)
for a in range(10):
    print(a)
0
1
2
3
4
5
6
7
8
9

Deux listes, bout à bout avec extend

python
1
2
3
4
5
x = [1, 2, 3, 4]
y = [4, 5, 1, 0]
x.extend(y)
print(x)
[1, 2, 3, 4, 4, 5, 1, 0]

Permutations avec itertools

python
1
2
3
4
5
6
7
8
from itertools import permutations
list(permutations(['a', 'b', 'c']))
[('a', 'b', 'c'),
    ('a', 'c', 'b'),
    ('b', 'a', 'c'),
    ('b', 'c', 'a'),
    ('c', 'a', 'b'),
    ('c', 'b', 'a')]

Permutations de plusieurs listes avec product de itertools

python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
from itertools import product
list(product(['a', 'b'], ['c', 'd']))
[('a', 'c'), ('a', 'd'), ('b', 'c'), ('b', 'd')]
list(product(['a', 'b'], ['c', 'd'], [('a', 'c'), ('a', 'd'), ('b', 'c'), ('b', 'd')]))
[('a', 'c', ('a', 'c')),
    ('a', 'c', ('a', 'd')),
    ('a', 'c', ('b', 'c')),
    ('a', 'c', ('b', 'd')),
    ('a', 'd', ('a', 'c')),
    ('a', 'd', ('a', 'd')),
    ('a', 'd', ('b', 'c')),
    ('a', 'd', ('b', 'd')),
    ('b', 'c', ('a', 'c')),
    ('b', 'c', ('a', 'd')),
    ('b', 'c', ('b', 'c')),
    ('b', 'c', ('b', 'd')),
    ('b', 'd', ('a', 'c')),
    ('b', 'd', ('a', 'd')),
    ('b', 'd', ('b', 'c')),
    ('b', 'd', ('b', 'd'))]

Afficher des éléments

Afficher les 2 premiers éléments d’une liste

python
1
2
3
liste = [1, 2, 3, 4, 5, 6]
liste[:2]
[1, 2]

Afficher le dernier item d’une liste

python
1
2
3
liste = [1,2,3,4,5]
liste[-1]
6

Afficher le 3ème élément en partant de la fin

python
1
2
3
liste = [1, 2, 3, 4, 5, 6]
liste[-3]
4

Afficher les 3 derniers éléments d’une liste

python
1
2
3
liste = [1, 2, 3, 4, 5, 6]
liste[-3:]
[4, 5, 6]

Vous pouvez additionner deux listes pour les combiner ensemble en utilisant l’opérateur +

python
1
2
3
4
x = [1, 2, 3]
y = [4, 5, 6]
x + y
[1, 2, 3, 4, 5, 6]

Vous pouvez même multiplier une liste

python
1
2
3
x = [1, 2]
x*5
[1, 2, 1, 2, 1, 2, 1, 2, 1, 2]

Ce qui peut être utile pour initialiser une liste

python
1
2
[0] * 5
[0, 0, 0, 0, 0]

Tags :

Catégories :

Mis à jour :