Dans cet article je recense un ensemble de fonctions et de méthodes pour travailler avec les listes.

Dans cet article :

Méthode et fonctions pour travailler avec les listes

Trouver l’index d’une valeur avec la méthode .index()

Donne l’index d’un élément dans une liste.

liste = ["Maxime", "Martine", "Christopher", "Carlos", "Michael"]
result = liste.index("Martine")
print(result)

>>> 1

Trouver le nombre d’occurrence d’une valeur avec la méthode .count()

Renvoi le nombre d’occurrences d’un élément dans une liste.

liste = ["Maxime", "Martine", "Martine", "Carlos"]
result = liste.count("Martine")
print(result)

>>> 2

Trier alphabétiquement une liste avec la méthode .sort()

La méthode .sort() vas trier DIRECTEMENT un liste par ordre alphabétique. Attention, liste.sort() retourne une valeur none. Il ne faut donc pas faire liste = liste.sort() au risque d’écraser une valeur vide dans la liste. 

Pour résumer, .sort() tri directement une liste sans avoir besoin de manipuler la liste de départ.

liste = ["Maxime", "Martine", "Christopher", "Carlos", "Michael", "Eric", "Vincent", "Carlos", "Yan", "Benjamin"]
liste.sort()
print(liste)

>>> ['Benjamin', 'Carlos', 'Carlos', 'Christopher', 'Eric', 'Martine', 'Maxime', 'Michael', 'Vincent', 'Yan']

Inverser l’ordre des valeurs dans une liste avec la méthode .reverse()

Les premiers deviennent les derniers, les derniers deviennent les premiers.

Fonctionne comme .sort() c’est a dire que la méthode, modifie DIRECTEMENT la liste.

liste = ["Maxime", "Martine", "Christopher", "Carlos", "Michael", "Eric", "Vincent", "Carlos", "Yan", "Benjamin"]
liste.reverse()
print(liste)


>>> ['Benjamin', 'Yan', 'Carlos', 'Vincent', 'Eric', 'Michael', 'Carlos', 'Christopher', 'Martine', 'Maxime']

Trier alphabétiquement une liste avec la fonction sorted()

A la difference de la méthode .sort(), la fonction sorted() trie une liste mais ne modifie pas la liste d’origine. Pour récupérer la liste tier, il faut la stocker dans une nouvelle liste.

liste = ["Maxime", "Martine", "Christopher", "Carlos", "Michael", "Eric", "Vincent", "Carlos", "Yan", "Benjamin"]
liste_trie = sorted(liste)
print(liste)
print(liste_trie)


['Maxime', 'Martine', 'Christopher', 'Carlos', 'Michael', 'Eric', 'Vincent', 'Carlos', 'Yan', 'Benjamin']
['Benjamin', 'Carlos', 'Carlos', 'Christopher', 'Eric', 'Martine', 'Maxime', 'Michael', 'Vincent', 'Yan']

Autre méthode pour travailler avec les listes

Supprimer des valeurs par leur index avec la méthode .pop()

La méthode .pop() permet de supprimer un élément par son index dans la liste :

liste = ["user_1","user_2","user_3","user_4","user_5","user_6"]
liste.pop(2)
print(liste)

>>> ['user_1', 'user_2', 'user_4', 'user_5', 'user_6']

La méthode .pop() permet également de récupérer la valeur de l’élément supprimer et de la stocker dans une variable par exemple :

liste = ["user_1","user_2","user_3","user_4","user_5","user_6"]
fired = liste.pop(2)
print(liste)
print(f"Le user {fired} à été viré")

>>> ['user_1', 'user_2', 'user_4', 'user_5', 'user_6']
>>> Le user user_3 à été viré

Vider une liste avec la methode .clear()

liste = ["user_1","user_2","user_3","user_4","user_5","user_6"]
liste.clear()
print(liste)

>>> []

Ajouter des caractères aux valeurs d’une liste avec la fonction .join()

Fonction ayant une syntaxe trèèès étrange, cette fonction permet d’ajouter des caractères à CHACUNE des valeurs d’une liste :

liste = ["Les liste", "c'est", "vraiment", "pète", "burnes", ]
result = " _ ".join(liste)
print(liste)
print(result)
>>> ['Les liste', "c'est", 'vraiment', 'pète', 'burnes']
Les liste _ c'est _ vraiment _ pète _ burnes

Transformer une chaine de caractères en liste avec la méthode .split()

La méthode .split() permet de transformer une string en liste :

my_string ="Robert, Gerard, Michel, Ginette, Jackie"
my_list = my_string.split()
print(my_list)

>>> ['Robert,', 'Gerard,', 'Michelle,', 'Ginette,', 'Jacky']

En argument on peut spécifier les caractères à « découper » :

my_string ="Robert, Gerard, Michel, Ginette, Jackie"
my_list = my_string.split(", ")
print(my_list)

>>> ['Robert', 'Gerard', 'Michel', 'Ginette', 'Jackie']

Les slices

Les slices permettent de récupérer des « morceaux » de data dans des listes.

Les slices utilisent le système d’index + pas des listes. Les slices sont EXCLUSIF :

Pour récupérer la plage de donné entre des indices 0 et 2 (exclusif) :

liste = ["user_1","user_2","user_3","user_4","user_5","user_6"]
print(liste[0:2])

>>> ['user_1', 'user_2']

Pour récupérer l’entièreté de la liste :

liste = ["user_1","user_2","user_3","user_4","user_5","user_6"]
print(liste[:])

>>> ['user_1', 'user_2', 'user_3', 'user_4', 'user_5', 'user_6']

Pour récupérer tout sauf le dernier élément (-1 = dernier éléments mais comme c’est exclusif, on ne récupéré PAS le dernier élément) :

liste = ["user_1","user_2","user_3","user_4","user_5","user_6"]
print(liste[:-1])

>>> ['user_1', 'user_2', 'user_3', 'user_4', 'user_5']

Pour partir d’un indice et aller jusqu’à la fin de la liste :

liste = ["user_1","user_2","user_3","user_4","user_5","user_6"]
print(liste[2:])

>>> ['user_3', 'user_4', 'user_5', 'user_6']

Pour récupérer une donnée sur 2 :

liste = ["user_1","user_2","user_3","user_4","user_5","user_6"]
print(liste[::2])

>>> ['user_1', 'user_3', 'user_5']

Pour récupérer une donnée sur 2 en partant de l’index 1 :

liste = ["user_1","user_2","user_3","user_4","user_5","user_6"]
print(liste[1::2])

>>> ['user_2', 'user_4', 'user_6']

Pour inverser l’affichage des données d’une liste :

liste = ["user_1","user_2","user_3","user_4","user_5","user_6"]
print(liste[::-1])

>>> ['user_6', 'user_5', 'user_4', 'user_3', 'user_2', 'user_1']


0 commentaire

Laisser un commentaire