Opérations élémentaires sur les listes en python

Published: 18 février 2014

DMCA.com Protection Status

Quelques exemples d'opérations élémentaires sur les listes en python

Comment déclarer une liste en python

Créer un liste vide:

>>> l = []
>>> type(myfirstlist)
<type 'list'>

Créer un liste avec 3 éléments:

>>> l = ['a','b','c']

Note: dans une liste il est possible d'avoir des éléments avec des types différents (comme des nombres ou des chaîne de caractères):

>>> l = ['hello',1,2]

Obtenir le nombre d'éléments dans une liste

Pour obtenir le nombre d'éléments dans une liste on peut utiliser la fonction len()

>>> l = ['Pierre', 'Paul', 'Mathieu']
>>> len(l)
3

ici la liste à 3 éléments.

Accéder aux éléments d'une liste

On peut accéder aux éléments d'une liste à partir des indices (entre 0 et len(l)-1), exemples

>>> l = ['Pierre', 'Paul', 'Mathieu']
>>> l[0]
'Pierre'
>>> l[1]
'Paul'
>>> l[2]
'Mathieu'

Créer une boucle sur les éléments d'une liste:

>>> l = ['Pierre', 'Paul', 'Mathieu']
>>> for i in l:
...     print( i )
... 
Pierre
Paul
Mathieu

Obtenir le nombre d'occurrence d'un élément

Pour obtenir le nombre d'occurrence d'un élément il existe la fonction count():

>>> l = ['Pierre', 'Paul', 'Mathieu','Paul']
>>> l.count('Pierre')
1
>>> l.count('Paul')
2

ici 'Paul' apparait deux fois.

Comment obtenir l'indice d'un élément

Pour trouver l'indice associé à un élément il existe la fonction index(), exemple:

>>> l = ['Pierre', 'Paul', 'Mathieu']
>>> l.index('Paul')
1

Si l'élément n'existe pas la fonction retourne une erreur

>>> l.index('Ben')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: 'Ben' is not in list

Ajouter un élément dans une liste

Pour ajouter un élément dans une liste il existe la fonction append(), exemple

>>> l = ['Pierre', 'Paul', 'Mathieu']
>>> l.append('toto')
>>> l
['Pierre', 'Paul', 'Mathieu', 'toto']

Note: avec append l'élément est ajouter en fin de liste

Pour ajouter un élément au début d'une liste on peut faire comme ceci:

>>> l = ['Pierre', 'Paul', 'Mathieu']
>>> l = ['Ben'] + l
>>> l
['Ben', 'Pierre', 'Paul', 'Mathieu']

Pour insérer un élément on peut aussi utiliser la fonction insert() qui permet de specifier la position de l'élément:

>>> l = ['Pierre', 'Paul', 'Mathieu']
>>> l.insert(1, 'toto')
>>> l 
['Pierre', 'toto', 'Paul', 'Mathieu']

Concatener deux listes

On peut fusionner deux listes avec la fonction extend():

>>> l1 = ['Pierre', 'Paul', 'Mathieu']
>>> l2 = ['Toto', 'George']
>>> l1.extend(l2)
>>> l1 
['Pierre', 'Paul', 'Mathieu', 'Toto', 'George']

On peut aussi fusionner deux listes avec l'opérateur +

>>> l1 = ['Pierre', 'Paul', 'Mathieu']
>>> l2 = ['Toto', 'George']
>>> l3 = l1 + l2
>>> l3 
['Pierre', 'Paul', 'Mathieu', 'Toto', 'George']

Supprimer un élément d'une liste

Pour supprimer un élément d'une liste il existe la méthode remove():

>>> l = ['Pierre', 'Paul', 'Mathieu']
>>> l.remove('Paul')
>>> l 
['Pierre', 'Mathieu']
>>> l.remove('Ben')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: list.remove(x): x not in list

Pour supprimer un élément en fonction de l'indice il existe pop()

>>> l = ['Pierre', 'Paul', 'Mathieu','Paul']
>>> l.pop(3)
'Paul'
>>> l 
['Pierre', 'Paul', 'Mathieu']

Diviser une liste

On peut aussi extraire seulement une partie d'une liste

>>> l1 = ['Pierre', 'Paul', 'Mathieu','Paul']
>>> l2 = l1[0:2]
>>> l2
['Pierre', 'Paul']
>>> l3 = l1[1:3]
>>> l3
['Paul', 'Mathieu']

Trier une liste

Pour trier une liste il existe sort()

>>> l = [4,3,2,1]
>>> l.sort()
>>> l
[1, 2, 3, 4]

Inverser l'ordre des éléments d'une liste

Pour inverser l'ordre des éléments d'une liste il existe reverse()

>>> l1 = ['Pierre', 'Paul', 'Mathieu','Paul']
>>> l1.reverse()
>>> l1
['Paul', 'Mathieu', 'Paul', 'Pierre']

Vérifier si un élément est dans la liste

>>> l = ['Pierre', 'Paul', 'Mathieu','Paul']
>>> 'George' in l
False
>>> 'Pierre' in l
True

Vérifier si un élément n'est pas dans la liste

>>> l = ['Pierre', 'Paul', 'Mathieu','Paul']
>>> 'George' not in l
True
>>> 'Pierre' not in l
False