ma_liste=[3,"a",3.7,"hou"]
print(ma_liste)
print(f"Liste de longueur {len(ma_liste)}.")
[3, 'a', 3.7, 'hou'] Liste de longueur 4
# une liste d'entiers : de 0 à 9 (attention pas de 10 !!!!!)
L=list(range(10))
print(L)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
# une liste des entiers de 2 à 7 (attention pas de 8 !!!!!)
L=list(range(2,8))
print(L)
[2, 3, 4, 5, 6, 7]
C'est une méthode très efficace à recommander.
#liste de carrés
L=[x**2 for x in range(1,11)]
print(L)
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
#liste de multiples de 17
L=[x for x in range(500) if x%17==0]
print(L)
[0, 17, 34, 51, 68, 85, 102, 119, 136, 153, 170, 187, 204, 221, 238, 255, 272, 289, 306, 323, 340, 357, 374, 391, 408, 425, 442, 459, 476, 493]
# Liste d'entiers aléatoires entre 1 et 6
from random import randint
L=[]
for k in range(20):
L.append(randint(1,6))
print(L)
# équivalent en comprésention : L=[randint(1,6) for k in range(20)]
[1, 4, 3, 4, 1, 2, 5, 3, 1, 1, 3, 2, 1, 5, 3, 4, 3, 2, 1, 6]
# La suite de Fibonacci
L=[1,1]
for k in range(20) :
L.append(L[k]+L[k+1]) # on rajoute petit à petit les valeurs
print(L)
[1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597, 2584, 4181, 6765, 10946, 17711]
# à partir de l'élément [2]
ma_liste=["a","b","c","d","e","f"]
L=ma_liste[2:]
print(L)
['c', 'd', 'e', 'f']
# jusquá l'élément [1]
ma_liste=["a","b","c","d","e","f"]
L=ma_liste[:2]
print(L)
['a', 'b']
# entre les éléments [2] et [4]
ma_liste=["a","b","c","d","e","f"]
L=ma_liste[2:5]
print(L)
['c', 'd', 'e']
# tous les éléments
ma_liste=["a","b","c","d","e","f"]
L=ma_liste[:]
print(L)
['a', 'b', 'c', 'd', 'e', 'f']
# tous les éléments de 2 en 2
ma_liste=["a","b","c","d","e","f"]
L=ma_liste[::2]
print(L)
['a', 'c', 'e']
# tous les éléments à l'envers
ma_liste=["a","b","c","d","e","f"]
L=ma_liste[::-1]
print(L)
['f', 'e', 'd', 'c', 'b', 'a']
# à partir de l'élément [1] de 3 en 3
ma_liste=list(range(20))
L=ma_liste[1::3]
print(L)
[1, 4, 7, 10, 13, 16, 19]
Cette solution rapide suffit pour les listes simples, mais pas pour les listes de listes par exemples
# Copie d'une liste simple
L1=[1,2,3]
L2=L1[:]
print(f"L1 = {L1}")
print(f"L2 = {L2}")
L2[0]=18
print("Après modification de L2, L1 reste inchangée :")
print(f"L1 = {L1}")
print(f"L2 = {L2}")
L1 = [1, 2, 3] L2 = [1, 2, 3] Après modification de L2, L1 reste inchangée : L1 = [1, 2, 3] L2 = [18, 2, 3]
# Exemple d'une liste de liste
L1=[[1,1],2,3]
L2=L1[:]
print(f"L1 = {L1}")
print(f"L2 = {L2}")
L2[0][0]=18
print("Après modification de L2, L1 aussi a changé :")
print(f"L1 = {L1}")
print(f"L2 = {L2}")
L1 = [[1, 1], 2, 3] L2 = [[1, 1], 2, 3] Après modification de L2, L1 aussi a changé : L1 = [[18, 1], 2, 3] L2 = [[18, 1], 2, 3]
Cette fois-ci, les deux listes seront indépendantes.
# Exemplde d'une liste de liste
import copy
L1=[[1,1],2,3]
L2=copy.deepcopy(L1) # à noter que L1[:] revient à faire copy.copy(L1)
print(f"L1 = {L1}")
print(f"L2 = {L2}")
L2[0][0]=18
print("Après modification de L2, L1 reste inchangée :")
print(f"L1 = {L1}")
print(f"L2 = {L2}")
L1 = [[1, 1], 2, 3] L2 = [[1, 1], 2, 3] Après modification de L2, L1 reste inchangée : L1 = [[1, 1], 2, 3] L2 = [[18, 1], 2, 3]
Attention, le premier indice d'une liste est 0 !
L=["a",5,9]
print(f"L[0]={L[0]}")
print(f"L[1]={L[1]}")
print(f"L[2]={L[2]}")
L[0]=a L[1]=5 L[2]=9
# une liste simple
L=[1,5,7]
L[0]=14
print(L)
[14, 5, 7]
#une liste de listes
L=[[1,2],[3,4]]
L[1][0]=800
print(L)
[[1, 2], [800, 4]]
Cette fonction enlève un élément de la liste et renvoie ce qui a été supprimé.
À noter qu'on ne peut enlever qu'un seul élément.
# on enlève l'élément [2]
L=["a","b","c","d","e","f"]
a=L.pop(2)
print(a)
print(L)
c ['a', 'b', 'd', 'e', 'f']
# on enlève le dernier élément
L=["a","b","c","d","e","f"]
a=L.pop()
print(a)
print(L)
f ['a', 'b', 'c', 'd', 'e']
# on enlève le premier élément
L=["a","b","c","d","e","f"]
a=L.pop(0)
print(a)
print(L)
a ['b', 'c', 'd', 'e', 'f']
Cette fonction permet de supprimer un ou plusieurs éléments.
Elle ne renvoie pas les valeurs supprimées.
# on enlève l'élément [2]
L=["a","b","c","d","e","f"]
del L[2]
print(L)
['a', 'b', 'd', 'e', 'f']
# on enlève à partir de l'élément [2]
L=["a","b","c","d","e","f"]
del L[2:]
print(L)
['a', 'b']
# détruit la liste
L=["a","b","c","d","e","f"]
del L
print(L)
--------------------------------------------------------------------------- NameError Traceback (most recent call last) <ipython-input-18-53b351c568f3> in <module> 2 L=["a","b","c","d","e","f"] 3 del L ----> 4 print(L) NameError: name 'L' is not defined
Cette fonction supprime le premier élément de valeur donnée.
Elle ne renvoie pas la valeur supprimée.
# on enlève le premier "W" uniquement
L=["a","b","W","c","W","d"]
print(L)
['a', 'b', 'W', 'c', 'W', 'd']
Voici un moyen de supprimer toutes les occurences d'une valeur.
# on enlève tous les "W"
L=["a","b","W","c","W","d"]
L=[el for el in L if el!="W"]
print(L)
['a', 'b', 'c', 'd']
Cette fonction ajoute un élément en fin de liste.
L=["a","b","c","d","e","f"]
L.append("g")
print(L)
['a', 'b', 'c', 'd', 'e', 'f', 'g']
Cette fonction permet d'ajouter tous les éléments d'une liste.
L=["a","b","c","d","e","f"]
A=["g","h","i"]
L.extend(A)
# ou L=L+A
print(L)
['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i']
Cette fonction permet d'insérer un élément particulier à une position donnée.
# on insert à la position[2] la valeur "c"
L=["a","b","d","e","f"]
L.insert(2,"c")
print(L)
['a', 'b', 'c', 'd', 'e', 'f']
On insère ou on remplace des éléments dans une liste.
# insertion à l'élément [2] sans suppression
L=["a","b","c","d"]
L[2:2]=["X","Y"]
print(L)
['a', 'b', 'X', 'Y', 'c', 'd']
# insertion à l'élément [2] après suppression de [2] et [3]
L=["a","b","c","d","e","f"]
L[2:4]=["X","Y","Z"]
print(L)
['a', 'b', 'X', 'Y', 'Z', 'e', 'f']