LISTES:

    LISTES:

    Listes

    Sous Python, on peut définir une liste comme une collection d’éléments séparés par des virgules, l’ensemble étant enfermé dans des crochets

    Les éléments individuels qui constituent une liste peuvent être de type varié.

    Les objets placés dans une liste sont rendus accessibles par

    l’intermédiaire d’un

    index
    
    (un nombre qui indique l’emplacement de
    l’objet dans la séquence. Il est possible de changer les éléments individuels d’une liste.
    • La fonction len() s’applique aux listes.
    • Il est possible de supprimer d’une liste un élément à partir de son index à l’aide de la fonction del() .
    • Il est possible d’ajouter un élément à une liste à l’aide de append().

    Définition d’une liste :

    On délimite une liste à l’aide de crochets on lui donne un nom :

    liste_vide=[] ;liste_chaine=10*[""]  ;mots = ["droite","vert","gauche","haut","bas"] ;bref = [1987, "Alice", 2015, ["Bob", "Charlie"]]
    

    CREATION DE LISTES:

    Commande Effet.
    lst=[a,[t,v…],..]
    
    Création d’une liste avec des éléments choisis par le programmeur.
    lst=[]
    
    Création d’une liste vide
    lst=5*[0]
    
    Création d’une liste qui peut contenir 5 entiers.
    lst=n*[0]
    
    Création d’une liste qui peut contenir n entiers.
    lst=n*[""]
    
    Création d’une liste qui peut contenir n chaînes de caractères

    Modifications des listes :

    index 0 1 2 3 4
    mots
    
    "droite"
    
    "vert"
    
    "gauche"
    
    "haut"
    
    "bas"
    
    lst = ["droite","vert", "gauche", "haut", "bas"]
    len(lst) #est égal à  5 , et l’index de la listemots va de 0 à 4.
    
    Commande Effet
    mots=[index]
    
    Si index=1 alors mots[index] renvoie le deuxième élément de la liste : « gauche »
    lst=[]
    
    Création d’une liste vide
    lst=mots
    
    lst=["droite","gauche","haut","bas"]
    
    lst.append("vert")
    
    Insère « vert » à la fin de la liste.
    lst =['droite','vert','gauche','haut','bas','vert']
    
    lst+bref
    lst.extend(bref)
    
    Insère la liste bref à la fin de la liste lst
    lst.insert(1, »vert »)
    Insère « vert » au niveau de l’index 1 de la liste.
    lst.append(1,"vert")
    lst= ['droite','vert','gauche','haut','bas','vert']
    
    "vert" in lst
    
    Renvoie True si « vert » appartient à lst ou False s’il n’appartient pas.
    Le mot vert est dans la liste
    lst.remove("vert")
    
    Supprime la première position du terme « vert » lst.remove(« vert »)
    lst=['droite','gauche','haut','bas','vert']
    
    del lst[0]
    del lst[i :j]
    
    Supprime le premier élément de la liste Supprime de la liste l’élément i jusqu’à l’élément j-1

    COMMANDES:

    Commandes

    remove() : recherche une valeur (si plusieurs éléments de la liste possèdent la même valeur, seul le premier est effacé).

    del() : travaille avec un index ou une tranche d’index,

    .

    programme Résultat
    lst.append(1,"vert")

    lst= ['droite', 'vert', 'gauche', 'haut', 'bas', 'vert']

    Le mot vert est dans la liste

    lst = [17, 38, 10, 25, 72]
    del lst[2]
    print(lst)
    [17, 38, 25, 72]
    
    del lst [1:3]
      print(lst)
      [17, 72]
    

    .

    Fonctions et méthodes sur les listes :

    Ce sont des fonctions qui prennent des listes en paramètres :
    lst=[0,5,4,78,45,26,30,21,,47]
    ch="Alice et Bob"
    
    Fonction Effet
    min(lst)
    
    Renvoie le plus petit élément de la liste.
    max(lst)
    
    Renvoie le plus grand élément de la liste.
    choice(lst)
    
    Utilise from random import ,choix aléatoire d’un élément de la liste.
    sep=" " :
    ch.split(sep)
    
    Création d’une liste contient des chaînes de caractères séparées par l’expression définie dans sep , extraites de la chaîne decaractères
    ch="Alice et Bob" donne ['Alice', 'et', 'Bob']
    
    sep= \*-\*
    sep.join(lstchar)
    
    Création d’une chaîne de caractères à partir d’une liste, avec des expressions définies par sep .
    lstchar=["al","de","sir","at"]
    "al\*-\*de\*-\*sir\*-\*at"
    
    list(ch)
    
    Création d’une liste à partir d’une chaîne de caractères.
    ch=['A','l','i','c','e',' ','e','t',' ','B','o','b']
    
    enumerate(lst)
    
    enumerate prend en paramètre une liste et renvoie deux valeurs par éléments : l’indice et l’élément.

    .

    Méthode Effet
    premiers.sort()
    
    Trier la liste
    premiers=[11,13,23,31,43]
    
    premiers.reverse()
    
    inverser l’ordre des éléments.
    premiers=[43,31,23,13,11]
    
    premiers.index(23)
    

    Retrouver l’index d’un élément 2

    .

    EXEMPLES DE PROGRAMMES:

    .

    programme Résultat

    #0310 fonctions listes.py

    from random import*

    lst=[0,5,4,78,45,26,30,21,47]

    lstchar=["al","de","sir","at"]

    ch="Alice et Bob"

    print("lst=",lst)

    print("min(lst) : ", min(lst))

    print("mnax(lst) : ", max(lst))

    print("choice(lst) : ", choice(lst))

    print("ch= ",ch)

    chr=ch.split(" ")

    print('sep=" "  : ')

    print('ch.split(" ") : ',ch.split(" "))

    sep="*-*"

    print('sep= ',sep)

    print("sep.join(lstchar) :",sep.join(lstchar))

    print("lstchar= ",lstchar)

    liste=list(ch)

    print("list(ch) : ", liste)

    lst= [0, 5, 4, 78, 45, 26, 30, 21, 47]

    min(lst) :  0

    mnax(lst) :  78

    choice(lst) :  4

    ch=  Alice et Bob

    sep=" "  :

    ch.split(" ") :  ['Alice', 'et', 'Bob']

    sep=  *-*

    sep.join(lstchar) : al*-*de*-*sir*-*at

    lstchar=  ['al', 'de', 'sir', 'at']

    list(ch) :  ['A', 'l', 'i', 'c', 'e', ' ', 'e', 't', ' ', 'B', 'o', 'b']

    programme Résultat

    #0312 enumerate liste.py

    ch="Alice et Bob"

    liste=list(ch)

    for index in enumerate(liste):

          print(index)

         

    (0, 'A')

    (1, 'l')

    (2, 'i')

    (3, 'c')

    (4, 'e')

    (5, ' ')

    (6, 'e')

    (7, 't')

    (8, ' ')

    (9, 'B')

    (10, 'o')

    (11, 'b')

    .

    enumerate() # prend en paramètre une liste et renvoie deux valeurs par éléments : l’indice et l’élément.
    
    (0, 'A')    ;    (1, 'l')    ;     (2, 'i')    ;    (3, 'c')     ;    (4, 'e')    ;    (5, ' ')
    
    (7, 't')    ; `(8, ' ')     ;     (9, 'B')    ;    (10, 'o')    ;    (11, 'b')    ;    (6, 'e')
    

    .

    CREATION D’UNE LISTE :

    Création d’une liste de nombres à l’aide de la fonction \(\mathbf{\text{range}}\mathbf{}\mathbf{}\mathbf{(\ )}.\)

    Listes

    \(\mathbf{\text{range}}\mathbf{(}\mathbf{n}\mathbf{)}\) : (n un entier naturel) renvoie un itérateur qui parcours les nombres entiers naturels tels que .

    list(range(8))= [0, 1, 2, 3, 4, 5, 6, 7]

    range(p,n) : renvoie un itérateur qui parcours les nombres entiers naturels tels que . list(range(5,12)) donne comme résultat : [5, 6, 7, 8, 9, 10, 11]

    list(range(n,p,k) : renvoie un itérateur qui parcours les nombres entiers naturels i tels que et list(range(3,16,3)) donne comme résultat : [3, 6, 9, 12, 15]

    On peut utiliser des entiers négatifs. list(range(3,-7,-1)) donne comme résultat : [3,2,1,0,-1,-2,-3,-4,-5,-6] list(range(-7,3,1)) donne comme résultat : [-7,-6,-5-4,-3,-2,-1,0,1,2]

    Pour utiliser l’instruction for avec la fonction range( ), on procède de la façon suivante :

    for i in range(N):   
    {indentation}Bloc d’instructions
    

    Remarque :

    L’habitude a été prise de nommer les entiers utilisés par for i, j, ou k.

    .

    programme Résultat

    # 0312 liste de mots.py

    # listes                          

    #for, in,  print, sequence     

    #sequence est une liste

    sequence= [ " lundi "," mardi "," mercredi "," jeudi ", \

     " vendredi "," samedi "," dimanche"]

    print(" liste sequence :")

    print(sequence)

    for lettre in sequence:

          print(lettre)

          print("-*-*-*-*-*")

    liste sequence :

    [' lundi ', ' mardi ', ' mercredi ', ' jeudi ', ' vendredi ', ' samedi ', ' dimanche']

     lundi

    -*-*-*-*-*

     mardi

    -*-*-*-*-*

     mercredi

    -*-*-*-*-*

     jeudi

    -*-*-*-*-*

     vendredi

    -*-*-*-*-*

     samedi

    -*-*-*-*-*

     dimanche

    -*-*-*-*-*

    .

    programme Résultat

    #0320méthodes listes

    entiers=list(range(-5,6))

    print("entiers")

    print(entiers)

    reels=[]

    for i in range(len(entiers)):

        reels.append(entiers[i])

    socle=sorted(reels,reverse=False)

    print("Dans le même sens")

    print(socle)

    print("Sens inversé")

    socle1=sorted(reels,reverse=True)

    print(socle1)

    entiers

    [-5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5]

    Dans le même sens

    [-5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5]

    Sens inversé

    [5, 4, 3, 2, 1, 0, -1, -2, -3, -4, -5]

    .

    programme Résultat

    #reverse liste

    a=[1,2,3,4,5]

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

    c=[]

    c.append(a[4])

    b[0]= a

    a.reverse()

    print('b',b)

    print('a',a)

    print('c',c)

    b [[5, 4, 3, 2, 1], 'b', 'c']

    a [5, 4, 3, 2, 1]

    c [5]