Accueil

Orientation générale

Barre de recherche

DicoNombre

DicoMot Math

DicoCulture

Atlas des maths

Rubriques

Index alphabétique

Nouveautés

Actualités

Références

Édition du: 31/07/2025

M'écrire

Brèves de Maths

 

INDEX

 

Python

 

Programmation

Informatique

Multimédia

Ordinateur

Python – Comment se lancer et initiation

INITIATION

BASES

MATHS

Symbolisme

Affichage

Caractères

Glossaire

Techniques

Graphes Plot

Importations

Listes et ensembles

Dessins - Tortue

Dessins – Tkinter

Faites un double-clic pour un retour en haut de page

 

 

 

PYTHON: Trucs et astuces

Listes et ensembles

 

Quelles sont les principales choses à savoir ou à avoir sous la main lorsqu'on s'intéresse aux listes et aux ensembles.

Rappel: les listes et ensembles peuvent être modifiées, un tuple non.

 

 

Sommaire de cette page

>>> Listes

>>> Ensembles

>>> Listes et Ensembles

>>> Manipulations

>>> Tests

>>> Zip

>>> LISTE – Exemples

 

Débutants

Programmation

 

Glossaire

Informatique

Algorithme

 

 

Listes

haut

Liste

Ajouter un élément

Liste + Liste

 

[     ] = liste

{     } = ensemble

    | avec Alt 6

Liste retournée

 

Ensembles

haut

Ensemble

Ensemble: élément dans l'ordre et sans redondance.

S = {1, 2, 3, 4}

T = {1, 2, 2, 5, 4, 2}

print(S)

print(T)

{1, 2, 3, 4}

{1, 2, 4, 5}

Identification de nombres à chiffres tous différents

def ND(n):

    L = [int(c) for c in str(n)]

    S = set(L)

    if len(L) == len(S):

        print(f"les chiffres de {n} sont distincts")

    else:

        print(f"les chiffres de {n} ne sont pas distincts")

  

 

n = 1234; ND(n)

m = 122352 ; ND (m)    

les chiffres de 1234 sont distincts

les chiffres de 122352 ne sont pas distincts

 

Listes et Ensembles

haut

Ensemble en liste

S = {1, 2, 3, 4, 5}

L = list(S)

print(L)

[1, 2, 3, 4, 5]

Liste en ensemble

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

S = set(L)

print(S)

{1, 2, 3, 4, 5}

Liste triée

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

S = sorted(L)

print(S)

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

Aussi

L = [5, 2, 9, 1, 7]

L.sort()

print(L)

[1, 2, 5, 7, 9]

Tri décroissant

L = [5, 2, 9, 1, 7]

L.sort(reverse=True)

print(L)

[9, 7, 5, 2, 1]

Tri par clé

L = ['Kevin', 'Bob', 'Jo', 'Louise']

LT = sorted(L, key=len)

print(LT)

['Jo', 'Bob', 'Kevin', 'Louise']

 

Manipulations

haut

Ajouter des éléments à une liste

 

M = [1, 2, 3]

N = [4, 5]

M.extend(N)

print(M) 

[1, 2, 3, 4, 5]

Plus simple

M = [1, 2, 3]

M += [4, 5]

print(M) 

[1, 2, 3, 4, 5]

Ajouter une sous-liste

M = [[1, 2, 3], [2,3]]

N = [4, 5]

M.append(N)

print(M) 

 

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

Regrouper deux listes

M = [1, 2, 3]

N = [4, 5]

P = M + N

print(P) 

[1, 2, 3, 4, 5]

Créer une liste avec une boucle de calcul

L = []

for i in range(3):

    M = [i, i + 1, i + 2] 

    L.append(M)

print(L)

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

Accéder à un élément

 

Note: commence par 0

A = [[1,2,3],[234],45]

print(A[0])

print(A[2])

[1, 2, 3]

45

 

Tests

haut

Test si une liste est présente dans une liste: même valeur dans l'ordre

L = [[1, 2], [3, 4], [5, 6]]

T = [3, 4]

if T in L:

    print("oui")

else:

    print("non")

oui

Test d'appartenance d'une sous liste dans une liste dans l'ordre

 

 

Note

 \ pour aller à la ligne (surtout , rien derrière)

def EstSL(M, N):

    m = len(M)

    n = len(N)

    return any(M[i:i+n] == N \

    for i in range(m-n+1))

A = [5, 1, 2, 3, 4, 9]

B = [2, 3, 4]

C = [3, 2, 4]

print(A)

print(B, EstSL(A, B)) 

print(C, EstSL(A, C)) 

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

[2, 3, 4] True

[3, 2, 4] False

Test d'appartenance d'une sous liste dans une liste sans ordre

 

L = [

    [1, 2],

    [4, 3],

    [5, 6],

    [7, 8, 9]

]

C = [3, 4]

CE = set(C)

present = any(set(sous_liste)\

    == CE for sous_liste in L)

if present:

    print("Oui")

else:

    print("Non")

Oui

 

 

ZIP

haut

Associer deux listes

 

Si les séquences n’ont pas la même longueur, zip() s’arrête à la plus courte.

 

prenoms = ["Alice", "Bob", "Charlie"]

ages = [25, 30, 22]

 

for nom, age in zip(prenoms, ages):

    print(f"{nom} a {age} ans.")

Alice a 25 ans.

Bob a 30 ans.

Charlie a 22 ans

Création d'un dictionnaire à partir de deux listes

clefs = ["nom", "âge", "ville"]

valeurs = ["Nathan", 12, "Antibes"]

 

d = dict(zip(clefs, valeurs))

print(d)

{'nom': 'Nathan', 'âge': 12, 'ville': 'Antibes'}

Zipper une chaine de caractères

a = "abc"

b = "123"

print(list(zip(a, b)))

[('a', '1'), ('b', '2'), ('c', '3')]

Dezipper

paires = [("x", 1), ("y", 2), ("z", 3)]

lettres, chiffres = zip(*paires)

 

print(lettres)   # ('x', 'y', 'z')

print(chiffres)  # (1, 2, 3)

('x', 'y', 'z')

(1, 2, 3)

Zipper et lister

noms = ["Marie", "Jean", "Luc"]

notes = [18, 15, 19]

 

for i, (nom, note) in

enumerate(zip(noms, notes)):

    print(f"#{i+1} : {nom} → {note}/20")

#1 : Marie → 18/20

#2 : Jean → 15/20

#3 : Luc → 19/20

 

 

LISTE – Exemples

haut

# Liste

L = ["A", "B", "C", "D"]

print(L, "Longueur :", len(L))

print("Qté de C :", L.count("C"))

print("Index de 'D' :", L.index("D"))

print("'B' est-il présent ?", "B" in L)

['A', 'B', 'C', 'D'] Longueur : 4

Qté de C : 1

Index de 'D' : 3

'B' est-il présent ? True

L = ["A", "B", "C", "D"]

     # voir slicing et Tableau de possibilités

print(L[:2])

     # Prend tous les éléments du début jusqu’à l’indice 2 exclus.

 

print(L[2:])

     # Prend tous les éléments à partir de l’indice 2 jusqu’à la fin.

 

print(L[::2]

     # Prend les éléments un sur deux, en commençant par l’indice 0

 

['A', 'B']

 

 

 

 

['C', 'D']

 

 

 

 

['A', 'C']

# Indexation par position

print("Premier :", L[0])    

print("Dernier :", L[-1])   

print("Sous-liste :", L[1:3]) 

 

Premier : A

Dernier : D

Sous-liste : ['B', 'C']

# Ajouter des éléments

print(L + ["XYZ"])

L.append("X")                    

L.insert(2, "Y")

print("Ajouté", L)

['A', 'B', 'C', 'D', 'XYZ']

 

Ajouté ['A', 'B', 'Y', 'C', 'D', 'X']

# Étendre avec une autre liste

Lbis = ["P", "Q"]

L.extend(Lbis)

print("Etendue :", L)

Etendue : ['A', 'B', 'Y', 'C', 'D', 'X', 'P', 'Q']

# Concaténation avec +

LM = L + ["Oui", "Non"]

print("Concaténée :", LM)

Concaténée : ['A', 'B', 'Y', 'C', 'D', 'X', 'P', 'Q', 'Oui', 'Non']

# Nettoyage

L.remove("A") #un seul élément

print("Retrait :", L)

del L[2]

print("Effacer :",L)

L.clear()

print("Vidée :",L)

Retrait : ['B', 'Y', 'C', 'D', 'X', 'P', 'Q']

Effacer : ['B', 'Y', 'D', 'X', 'P', 'Q']

Vidée : []

# Duplication

L = [1, 5, 3]

print("Nouvelle liste",L)

print("Répétée :", L * 2)

 

Nouvelle liste [1, 5, 3]

Répétée : [1, 5, 3, 1, 5, 3]

# Trier et inverser

L.sort()

print("Triée :", L)

L.reverse()

print("Inversée :", L)

 

Triée : [1, 3, 5]

Inversée : [5, 3, 1]

# Création d'une chaîne

mots = ["Bonjour", "Nathan", "comment", "ça", "va"]

phrase = " ".join(mots)

print(phrase)

 

Bonjour Nathan comment ça va

# Statistiques (avec liste de nombres)

nombres = [4, 10, 15, 2, 7]

print("Min :", min(nombres))

print("Max :", max(nombres))

print("Somme :", sum(nombres))

 

Min : 2

Max : 15

Somme : 38

# Conversion 

chaine = "Python"

print("Lettres Python :", list(chaine))

 

 Lettres Python: ['P', 'y', 't', 'h', 'o', 'n']

 

Diverses possibilités d'accéder aux éléments d'une liste

Haut de page (ou double-clic)

 

 

 

Retour

*      Trucs de base en Python

*      Python – Ce qu'il faut absolument comprendre avant de se lancer

*      Les classiques en Python

Suite

*      Tableau (Matrices) – Manipulations

*      Trucs avec les listes et les ensembles

*      Tour d'horizon avec l'exemple des palindromes

*      Les classiques – Factorielle, Fibonacci …

*      Comment obtenir plus de chiffres significatifs

*      Mes premiers dessins

Voir

*      Scratch – Apprendre à programmer simplement

*      Maple – Apprendre à programmer (maths)

*      Historique de l’aventure informatique

Sites

*      Cours Python – OpenClassrooms 

*      Programmation Python – WikiBooks

Cette page

http://villemin.gerard.free.fr/aInforma/PYTHON/TrucList.htm