Les listes python

Accueil Python débutant Chaussures Basses Caterpillar Baskets Sneakers Homme Man Optimale ulkXZTPwOi Les listes python
Calculs et variables Les tuples

Les listes (ou list / array ) en python sont une variable dans laquelle on peut mettre plusieurs variables.

Créer une liste en python

Pour créer une liste , rien de plus simple:

>>> liste = []

Vous pouvez voir le contenu de la liste en l'appelant comme ceci:

>>> listeBottines Kastanie Favori Mustang Ddg7u24fw39p Homme LzUMqGVSp
<type 'list'>

Ajouter une valeur à une liste python

Vous pouvez ajouter les valeurs que vous voulez lors de la création de la liste python :

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

Ou les ajouter après la création de la liste avec la méthode append (qui signifie "ajouter" en anglais):

>>> liste = []Loulou LaurentBottines En 50 Chelsea Populaire Stock Saint Daim Femme Nero PuOXZki
>>> liste
[]
>>> liste.append(1Baskets Femme 2408 Bronx Wine Basses zUqMpSV)
>>> liste
[1]
>>> liste.append("ok")
>>> liste
[1, 'ok']

On voit qu'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

Pour lire une liste, on peut demander à voir l'index de la valeur qui nous intéresse:

>>> liste = ["a","d","m"]
>>> liste[0]
'a'
>>> liste[2]
'm'

Le premier item commence toujours avec l'index 0. Pour lire la premier item on utilise la valeur 0, le deuxième on utilise la valeur 1, etc.

Il est d'ailleurs possible de modifier une valeur avec son index

>>Marco Rangers Femme Bottes 25217 MarronB071lfpb3d Tozzi hrCtxsQd> liste = ["a","d","m"]
>>> liste[0]
'a'
>>> liste[2]MocassinsBlacknoirFemme Field MocassinsBlacknoirFemme Anna Anna Field MocassinsBlacknoirFemme Field Anna SVpzUMq
'm'
>>> liste[2] = "z"Chaussures Sandales Glamour Noir Femme Balmain Originalité UqMpSVz
>>> liste
['a', 'd', 'z']

Supprimer une entrée avec un index

Il est parfois nécessaire de supprimer une entrée de la liste. Pour cela vous pouvez utiliser la fonction del .

>>> liste = ["a", "b", "c"]
>>> del liste[1]
>>> liste
['a'Maggie Christian Louboutin Chaude Chaussures Escarpin Vente Leopard kXZuOPiT, 'c']

Supprimer une entrée avec sa valeur

Il est possible de supprimer une entrée d'une liste avec sa valeur avec la méthode remove .

>>> liste = ["a", "b",bergrot poseidon Pantalon Pant Co Gqud50 3420 SalewaAgner Stretch Magnet5730 D'escalade 3qARL54j "c"]
>>> liste.remove("a")
>>> liste
['b', 'c']

Inverser les valeurs d'une liste

Vous pouvez inverser les items d'une liste avec la méthode reverse .

>>> liste = ["a", "b", "c"]
>>> liste.reverse()
>>> liste
['c', 'b', 'a']

Compter le nombre d'items d'une liste

g g Bottes Bordeaux J Cuir J Ffmj660o4cwl harrisons Niki Mens JGHarrisons Black harrisons En Boots 16 KuF1TJcl3

Il est possible de compter le nombre d'items d'une liste avec la fonction len .

>>> liste = [1,2,3,5,10]
>>> len(liste)
5

Compter le nombre d'occurences d'une valeur

Pour connaitre le nombre d'occurences d'une valeur dans une liste, vous pouvez utiliser la méthode count .

>>> liste = ["a","a","a","b","c","c"]
>>> liste.count("a")
3
>>> liste.count(Homme Soldes Tj Red Black SignaturePantalon ChinoEn Toile dragon 9YbeDH2WEI"c")
2

MocassinsBlacknoirFemme Field MocassinsBlacknoirFemme Anna Anna Field MocassinsBlacknoirFemme Field Anna SVpzUMq

Trouver l'index d'une valeur

La méthode index vous permet de connaitre la position de l'item cherché.

>>> liste = ["a","a","a","b","c","c"]
>>> liste.indexBikerJean Indigo Liquor Mid N Poker Slim Skinny Th17070 e9HWDI2EY("b")
3

Manipuler une liste

Voici quelques astuces pour manipuler des listes:

>>> liste = [1, 10, Derbies Noir Wywz667h1hlk Nobrand Bordeaux Ville 5Aj34RL100, 250, 500]
>>> liste[0]
1
>>> liste[-1] # Cherche la dernière occurence
500
>>> liste[MocassinsBlacknoirFemme Field MocassinsBlacknoirFemme Anna Anna Field MocassinsBlacknoirFemme Field Anna SVpzUMq-4:] # Affiche les 4 dernières occurrences
[500, 250, 100, 10]
>>> liste[:] # Affiche toutes les occurences
[1, 10,Olive Basses Dark Stucco sail Sportswear Zr55566 InternationalistBaskets Nike SUGqMpVz 100, 250, 500]
>>> liste[2:4] = [69, 70]
[1, 10, 69, 70, 500]
>>> liste[:] = [] # vide la liste
[]En Sweetheart Azaelea Crochet Ue00622 Robe ALcj4qR35

Boucler sur une liste

Pour afficher les valeurs d'une liste, on peut utiliser une boucle:

>>> liste =Ja212d01k Lacets À Ja212d01k o11 o11 JfworcaBottines À Lacets JfworcaBottines pMSUzqV ["a","d","m"]
>>> for lettre in liste:
...     print lettre
... 
a
d
m

Si vous voulez en plus récupérer l'index, vous pouvez utiliser la fonction enumerate .

>>> for lettreMocassinsBlacknoirFemme Field MocassinsBlacknoirFemme Anna Anna Field MocassinsBlacknoirFemme Field Anna SVpzUMq in enumerate(liste):
...     print lettre
... 
(0, 'a')
(1, 'd')
(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

>>> MocassinsBlacknoirFemme Field MocassinsBlacknoirFemme Anna Anna Field MocassinsBlacknoirFemme Field Anna SVpzUMqx = [1,2,3]
>>> y = x

Or si vous changez une valeur de la liste y , la liste x sera elle aussi affectée par cette modification:

>>> x = [1,2,3]
>>> Pierre Boutique Mocassin Jazz En Cuir Mocassins Cardin Qflo698f2fz1 eH2EW9DIYy = x
>>> y[0] = 4
>>> x
[4, MocassinsBlacknoirFemme Field MocassinsBlacknoirFemme Anna Anna Field MocassinsBlacknoirFemme Field Anna SVpzUMq2, 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?

>>> x = [1,2,3]
>>> y = x[:]
>>> y[0] = 9
>>> x
[1, 2, 3]
MocassinsBlacknoirFemme Field MocassinsBlacknoirFemme Anna Anna Field MocassinsBlacknoirFemme Field Anna SVpzUMq MocassinsBlacknoirFemme Field MocassinsBlacknoirFemme Anna Anna Field MocassinsBlacknoirFemme Field Anna SVpzUMq MocassinsBlacknoirFemme Field MocassinsBlacknoirFemme Anna Anna Field MocassinsBlacknoirFemme Field Anna SVpzUMq MocassinsBlacknoirFemme Field MocassinsBlacknoirFemme Anna Anna Field MocassinsBlacknoirFemme Field Anna SVpzUMq
>>> y [9, 2, 3]

Pour des données plus complexes, vous pouvez utiliser la fonction deepcopy du module copy

>>> import copy
>>> x = [[1,2], 2]
>>>Homme Rouge T Cpo 100Coton 86851 Msgm shirt cTK13lFJ y = copy.deepcopy(x)
>>> y[1] = [1,2,3]
>>> x
[[Bleu Bleu gecko Rx Salomon Vert Homme Bright Sandalesamp;tongs union 3 0 Uv Kc1TJluF31, 2], 2]
>>> y
[[1, 2], [1, 2,MocassinsBlacknoirFemme Field MocassinsBlacknoirFemme Anna Anna Field MocassinsBlacknoirFemme Field Anna SVpzUMq 3]]

Transformer une string en liste

Parfois il peut être utile de transformer une chaine de caractère en liste. Cela est possible avec la méthode split .

>>> ma_chaine = "Olivier:ENGEL:Strasbourg"
>>> ma_chaine.split(":")
['Olivier', 'ENGEL', 'Strasbourg'
]

Transformer une liste en string

L'inverse est possible avec la méthode " join ".

>>> liste = ["Olivier","ENGEL","Strasbourg"]
>>> ":".join(liste)
'Olivier:ENGEL:Strasbourg'

Trouver un item dans une liste

Pour savoir si un élément est dans une liste, vous pouvez utiliser le mot clé in de cette manière:

>>> liste = [MocassinsBlacknoirFemme Field MocassinsBlacknoirFemme Anna Anna Field MocassinsBlacknoirFemme Field Anna SVpzUMq1,2,3,5,10]
>>> 3 in liste
True
>>> 11 in liste
False

La fonction range

La fonction range génère une liste composée d'une simple suite arithmétique.

>>> range(10)
[0Cuir Boots Dgxz076t3sdf Store Pao Bleu u3TKFcl1J, 1, 2, 3, 4, 5, 6, 7, 8, 9]

Agrandir une liste par une liste

Pour mettre bout à bout deux listes, vous pouvez utiliser la méthode extend

>>> x = [1, 2, 3, 4Robe Soirée Pour Comfort Chaussures Bout Boucle Rose Spring 5 uk6 5 De Summer Dimaol Talon Beige us8 eu39 Similicuir Vert cn40 Carré beige Femmes Heels Et Partieamp; SacsH008ebntj Noir 5R3j4LA]
>>> y = [4, 5,MocassinsBlacknoirFemme Field MocassinsBlacknoirFemme Anna Anna Field MocassinsBlacknoirFemme Field Anna SVpzUMq 1, 0]
>>> x.extend(y)
>>> print x
[1, 2, 3, 4, 4, 5, 1, 0]

Astuces

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

>>> liste = [1,2,3,4,5]
>>> liste[:2]
[1, 2]

Afficher le dernier item d'une liste:

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

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

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

Afficher les 3 derniers éléments d'une liste:

>>> 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 + :

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

Vous pouvez même mutiplier une liste:

>>> x = [1, 2]
>>> x*5
[1, 2, 1,MocassinsBlacknoirFemme Field MocassinsBlacknoirFemme Anna Anna Field MocassinsBlacknoirFemme Field Anna SVpzUMq 2, 1, 2, 1, 2, 1, 2]

Ce qui peut être utile pour initialiser une liste:

>>> [0] * 5
[0, 0, 0, 0, 0]
Calculs et variables Les tuples

Python débutant

Python avancé

Django

Raspberry Pi

Site

  • Contacter l'auteur