profs = [ ['LUR', 'Quentin Lurkin'], ['LRG', 'André Lorge'], ['FKY', 'Martin Fockedey'], ['FLE', 'Clémence Flémal'], ]
# Transforme une liste de profs profs = [ ['LUR', 'Quentin Lurkin'], ['LRG', 'André Lorge'], ['FKY', 'Martin Fockedey'], ]
# En une liste de trigrammes trigrams = [ 'LUR' 'LRG', 'FKY', ]
def map_to_trigrams(profs): results = [] for prof in profs: results.append(prof[0]) return results profs = [ ['LUR', 'Quentin Lurkin'], ['LRG', 'André Lorge'], ['FKY', 'Martin Fockedey'], ] trigrams = map_to_trigrams(profs) print(trigrams)
def map_to_trigrams(profs): results = [] for prof in profs: results.append(prof[0]) return results profs = [ ['LUR', 'Quentin Lurkin'], ['LRG', 'André Lorge'], ['FKY', 'Martin Fockedey'], ] trigrams = map_to_trigrams(profs) print(trigrams)
def map_to_trigrams(profs): results = [] for prof in profs: results.append(prof[0]) return results profs = [ ['LUR', 'Quentin Lurkin'], ['LRG', 'André Lorge'], ['FKY', 'Martin Fockedey'], ] trigrams = map_to_trigrams(profs) print(trigrams)
def map_to_trigrams(profs): results = [] for prof in profs: results.append(prof[0]) return results profs = [ ['LUR', 'Quentin Lurkin'], ['LRG', 'André Lorge'], ['FKY', 'Martin Fockedey'], ] trigrams = map_to_trigrams(profs) print(trigrams)
def map_to_trigrams(profs): results = [] for prof in profs: results.append(prof[0]) return results profs = [ ['LUR', 'Quentin Lurkin'], ['LRG', 'André Lorge'], ['FKY', 'Martin Fockedey'], ] trigrams = map_to_trigrams(profs) print(trigrams)
def map_to_trigrams(profs): results = [] for prof in profs: results.append(prof[0]) return results profs = [ ['LUR', 'Quentin Lurkin'], ['LRG', 'André Lorge'], ['FKY', 'Martin Fockedey'], ] trigrams = map_to_trigrams(profs) print(trigrams)
def map_to_trigrams(profs): results = [] for prof in profs: results.append(prof[0]) return results profs = [ ['LUR', 'Quentin Lurkin'], ['LRG', 'André Lorge'], ['FKY', 'Martin Fockedey'], ] trigrams = map_to_trigrams(profs) print(trigrams)
def map_to_trigrams(profs): results = [] for prof in profs: results.append(prof[0]) return results profs = [ ['LUR', 'Quentin Lurkin'], ['LRG', 'André Lorge'], ['FKY', 'Martin Fockedey'], ] trigrams = map_to_trigrams(profs) print(trigrams)
def map_to_trigrams(profs): results = [] for prof in profs: results.append(prof[0]) return results profs = [ ['LUR', 'Quentin Lurkin'], ['LRG', 'André Lorge'], ['FKY', 'Martin Fockedey'], ] trigrams = map_to_trigrams(profs) print(trigrams)
def map_to_trigrams(profs): results = [] for prof in profs: results.append(prof[0]) return results profs = [ ['LUR', 'Quentin Lurkin'], ['LRG', 'André Lorge'], ['FKY', 'Martin Fockedey'], ] trigrams = map_to_trigrams(profs) print(trigrams)
def map_to_trigrams(profs): results = [] for prof in profs: results.append(prof[0]) return results profs = [ ['LUR', 'Quentin Lurkin'], ['LRG', 'André Lorge'], ['FKY', 'Martin Fockedey'], ] trigrams = map_to_trigrams(profs) print(trigrams)
def map_to_trigrams(profs): results = [] for prof in profs: results.append(prof[0]) return results profs = [ ['LUR', 'Quentin Lurkin'], ['LRG', 'André Lorge'], ['FKY', 'Martin Fockedey'], ] trigrams = map_to_trigrams(profs) print(trigrams)
def map_to_trigrams(profs): results = [] for prof in profs: results.append(prof[0]) return results profs = [ ['LUR', 'Quentin Lurkin'], ['LRG', 'André Lorge'], ['FKY', 'Martin Fockedey'], ] trigrams = map_to_trigrams(profs) print(trigrams)
def map_to_trigrams(profs): results = [] for prof in profs: results.append(prof[0]) return results profs = [ ['LUR', 'Quentin Lurkin'], ['LRG', 'André Lorge'], ['FKY', 'Martin Fockedey'], ] trigrams = map_to_trigrams(profs) print(trigrams)
# Transforme une liste de profs profs = [ ['LUR', 'Quentin Lurkin'], ['LRG', 'André Lorge'], ['FKY', 'Martin Fockedey'], ]
# En une liste de descriptions # prêtes à être affichées trigrams = [ 'Quentin Lurkin (LUR)' 'André Lorge (LRG)', 'Martin Fockedey (FKY)', ]
def map_to_desc(profs): results = [] for prof in profs: desc = f"{prof[1]} ({prof[0]})" results.append(desc) return results profs = [ ['LUR', 'Quentin Lurkin'], ['LRG', 'André Lorge'], ['FKY', 'Martin Fockedey'], ] desc = map_to_trigrams(profs) print(desc)
Toutes les références ne sont pas représentées
def map_to_desc(profs): results = [] for prof in profs: desc = f"{prof[1]} ({prof[0]})" results.append(desc) return results profs = [ ['LUR', 'Quentin Lurkin'], ['LRG', 'André Lorge'], ['FKY', 'Martin Fockedey'], ] desc = map_to_trigrams(profs) print(desc)
Toutes les références ne sont pas représentées
def map_to_desc(profs): results = [] for prof in profs: desc = f"{prof[1]} ({prof[0]})" results.append(desc) return results profs = [ ['LUR', 'Quentin Lurkin'], ['LRG', 'André Lorge'], ['FKY', 'Martin Fockedey'], ] desc = map_to_trigrams(profs) print(desc)
Toutes les références ne sont pas représentées
def map_to_desc(profs): results = [] for prof in profs: desc = f"{prof[1]} ({prof[0]})" results.append(desc) return results profs = [ ['LUR', 'Quentin Lurkin'], ['LRG', 'André Lorge'], ['FKY', 'Martin Fockedey'], ] desc = map_to_trigrams(profs) print(desc)
Toutes les références ne sont pas représentées
def map_to_desc(profs): results = [] for prof in profs: desc = f"{prof[1]} ({prof[0]})" results.append(desc) return results profs = [ ['LUR', 'Quentin Lurkin'], ['LRG', 'André Lorge'], ['FKY', 'Martin Fockedey'], ] desc = map_to_trigrams(profs) print(desc)
Toutes les références ne sont pas représentées
def map_to_desc(profs): results = [] for prof in profs: desc = f"{prof[1]} ({prof[0]})" results.append(desc) return results profs = [ ['LUR', 'Quentin Lurkin'], ['LRG', 'André Lorge'], ['FKY', 'Martin Fockedey'], ] desc = map_to_trigrams(profs) print(desc)
Toutes les références ne sont pas représentées
def map_to_desc(profs): results = [] for prof in profs: desc = f"{prof[1]} ({prof[0]})" results.append(desc) return results profs = [ ['LUR', 'Quentin Lurkin'], ['LRG', 'André Lorge'], ['FKY', 'Martin Fockedey'], ] desc = map_to_trigrams(profs) print(desc)
Toutes les références ne sont pas représentées
def map_to_desc(profs): results = [] for prof in profs: desc = f"{prof[1]} ({prof[0]})" results.append(desc) return results profs = [ ['LUR', 'Quentin Lurkin'], ['LRG', 'André Lorge'], ['FKY', 'Martin Fockedey'], ] desc = map_to_trigrams(profs) print(desc)
Toutes les références ne sont pas représentées
def map_to_desc(profs): results = [] for prof in profs: desc = f"{prof[1]} ({prof[0]})" results.append(desc) return results profs = [ ['LUR', 'Quentin Lurkin'], ['LRG', 'André Lorge'], ['FKY', 'Martin Fockedey'], ] desc = map_to_trigrams(profs) print(desc)
Toutes les références ne sont pas représentées
def map_to_desc(profs): results = [] for prof in profs: desc = f"{prof[1]} ({prof[0]})" results.append(desc) return results profs = [ ['LUR', 'Quentin Lurkin'], ['LRG', 'André Lorge'], ['FKY', 'Martin Fockedey'], ] desc = map_to_trigrams(profs) print(desc)
Toutes les références ne sont pas représentées
def map_to_desc(profs): results = [] for prof in profs: desc = f"{prof[1]} ({prof[0]})" results.append(desc) return results profs = [ ['LUR', 'Quentin Lurkin'], ['LRG', 'André Lorge'], ['FKY', 'Martin Fockedey'], ] desc = map_to_trigrams(profs) print(desc)
Toutes les références ne sont pas représentées
def map_to_desc(profs): results = [] for prof in profs: desc = f"{prof[1]} ({prof[0]})" results.append(desc) return results profs = [ ['LUR', 'Quentin Lurkin'], ['LRG', 'André Lorge'], ['FKY', 'Martin Fockedey'], ] desc = map_to_trigrams(profs) print(desc)
Toutes les références ne sont pas représentées
def map_to_desc(profs): results = [] for prof in profs: desc = f"{prof[1]} ({prof[0]})" results.append(desc) return results profs = [ ['LUR', 'Quentin Lurkin'], ['LRG', 'André Lorge'], ['FKY', 'Martin Fockedey'], ] desc = map_to_trigrams(profs) print(desc)
Toutes les références ne sont pas représentées
def map_to_desc(profs): results = [] for prof in profs: desc = f"{prof[1]} ({prof[0]})" results.append(desc) return results profs = [ ['LUR', 'Quentin Lurkin'], ['LRG', 'André Lorge'], ['FKY', 'Martin Fockedey'], ] desc = map_to_trigrams(profs) print(desc)
Toutes les références ne sont pas représentées
def map_to_desc(profs): results = [] for prof in profs: desc = f"{prof[1]} ({prof[0]})" results.append(desc) return results profs = [ ['LUR', 'Quentin Lurkin'], ['LRG', 'André Lorge'], ['FKY', 'Martin Fockedey'], ] desc = map_to_trigrams(profs) print(desc)
Toutes les références ne sont pas représentées
def map_to_desc(profs): results = [] for prof in profs: desc = f"{prof[1]} ({prof[0]})" results.append(desc) return results profs = [ ['LUR', 'Quentin Lurkin'], ['LRG', 'André Lorge'], ['FKY', 'Martin Fockedey'], ] desc = map_to_trigrams(profs) print(desc)
Toutes les références ne sont pas représentées
def map_to_desc(profs): results = [] for prof in profs: desc = f"{prof[1]} ({prof[0]})" results.append(desc) return results profs = [ ['LUR', 'Quentin Lurkin'], ['LRG', 'André Lorge'], ['FKY', 'Martin Fockedey'], ] desc = map_to_trigrams(profs) print(desc)
Toutes les références ne sont pas représentées
from math import cos, pi a = cos # Pas de parenthèse! On n'appelle pas la fonction. # On l'assigne à la variable `a` a(pi/2) # `a` fait référence à la fonction `cos`. Si on # appelle `a`, on appelle `cos`
# la structure d'un mapping. `processing` est la fonction # qui sera appliquée aux éléments de `L` def map(processing, L): results = [] for elem in L: results.append(processing(elem)) return results # transforme 1 prof def describe(prof): return f"{prof[1]} ({prof[0]})" # on transforme tous les profs descriptions = map(describe, profs) def get_trigram(prof): return prof[0] trigrams = map(get_trigram, profs)
mapmap existe déjà en Python Pas besoin de la créer# A partir de cette liste numbers = [42, 165, 69, 18, 24] # On veut obtenir celle-ci qui ne contient que les nombre pairs even = [42, 18, 24] # Ou ne garder que les nombres plus grands que 60 big = [165, 69]
filterTrue pour les
valeurs à garder.filterdef filter(condition, L): res = [] for item in L: if condition(item): res.append(item) return res def is_even(x): return x % 2 == 0 def is_big(x): return x > 60 numbers = [42, 165, 69, 18, 24] even = filter(is_even, L) big = filter(is_big, L)
def filter(condition, L): res = [] for item in L: if condition(item): res.append(item) return res def is_big(x): return x > 60 numbers = [42, 165, 69, 18, 24] big = filter(is_big, numbers) print(big)
Toutes les références ne sont pas représentées
def filter(condition, L): res = [] for item in L: if condition(item): res.append(item) return res def is_big(x): return x > 60 numbers = [42, 165, 69, 18, 24] big = filter(is_big, numbers) print(big)
Toutes les références ne sont pas représentées
def filter(condition, L): res = [] for item in L: if condition(item): res.append(item) return res def is_big(x): return x > 60 numbers = [42, 165, 69, 18, 24] big = filter(is_big, numbers) print(big)
Toutes les références ne sont pas représentées
def filter(condition, L): res = [] for item in L: if condition(item): res.append(item) return res def is_big(x): return x > 60 numbers = [42, 165, 69, 18, 24] big = filter(is_big, numbers) print(big)
Toutes les références ne sont pas représentées
def filter(condition, L): res = [] for item in L: if condition(item): res.append(item) return res def is_big(x): return x > 60 numbers = [42, 165, 69, 18, 24] big = filter(is_big, numbers) print(big)
Toutes les références ne sont pas représentées
def filter(condition, L): res = [] for item in L: if condition(item): res.append(item) return res def is_big(x): return x > 60 numbers = [42, 165, 69, 18, 24] big = filter(is_big, numbers) print(big)
Toutes les références ne sont pas représentées
def filter(condition, L): res = [] for item in L: if condition(item): res.append(item) return res def is_big(x): return x > 60 numbers = [42, 165, 69, 18, 24] big = filter(is_big, numbers) print(big)
Toutes les références ne sont pas représentées
def filter(condition, L): res = [] for item in L: if condition(item): res.append(item) return res def is_big(x): return x > 60 numbers = [42, 165, 69, 18, 24] big = filter(is_big, numbers) print(big)
Toutes les références ne sont pas représentées
def filter(condition, L): res = [] for item in L: if condition(item): res.append(item) return res def is_big(x): return x > 60 numbers = [42, 165, 69, 18, 24] big = filter(is_big, numbers) print(big)
Toutes les références ne sont pas représentées
def filter(condition, L): res = [] for item in L: if condition(item): res.append(item) return res def is_big(x): return x > 60 numbers = [42, 165, 69, 18, 24] big = filter(is_big, numbers) print(big)
Toutes les références ne sont pas représentées
def filter(condition, L): res = [] for item in L: if condition(item): res.append(item) return res def is_big(x): return x > 60 numbers = [42, 165, 69, 18, 24] big = filter(is_big, numbers) print(big)
Toutes les références ne sont pas représentées
def filter(condition, L): res = [] for item in L: if condition(item): res.append(item) return res def is_big(x): return x > 60 numbers = [42, 165, 69, 18, 24] big = filter(is_big, numbers) print(big)
Toutes les références ne sont pas représentées
def filter(condition, L): res = [] for item in L: if condition(item): res.append(item) return res def is_big(x): return x > 60 numbers = [42, 165, 69, 18, 24] big = filter(is_big, numbers) print(big)
Toutes les références ne sont pas représentées
def filter(condition, L): res = [] for item in L: if condition(item): res.append(item) return res def is_big(x): return x > 60 numbers = [42, 165, 69, 18, 24] big = filter(is_big, numbers) print(big)
Toutes les références ne sont pas représentées
def filter(condition, L): res = [] for item in L: if condition(item): res.append(item) return res def is_big(x): return x > 60 numbers = [42, 165, 69, 18, 24] big = filter(is_big, numbers) print(big)
Toutes les références ne sont pas représentées
def filter(condition, L): res = [] for item in L: if condition(item): res.append(item) return res def is_big(x): return x > 60 numbers = [42, 165, 69, 18, 24] big = filter(is_big, numbers) print(big)
Toutes les références ne sont pas représentées
def filter(condition, L): res = [] for item in L: if condition(item): res.append(item) return res def is_big(x): return x > 60 numbers = [42, 165, 69, 18, 24] big = filter(is_big, numbers) print(big)
Toutes les références ne sont pas représentées
def filter(condition, L): res = [] for item in L: if condition(item): res.append(item) return res def is_big(x): return x > 60 numbers = [42, 165, 69, 18, 24] big = filter(is_big, numbers) print(big)
Toutes les références ne sont pas représentées
def filter(condition, L): res = [] for item in L: if condition(item): res.append(item) return res def is_big(x): return x > 60 numbers = [42, 165, 69, 18, 24] big = filter(is_big, numbers) print(big)
Toutes les références ne sont pas représentées
def filter(condition, L): res = [] for item in L: if condition(item): res.append(item) return res def is_big(x): return x > 60 numbers = [42, 165, 69, 18, 24] big = filter(is_big, numbers) print(big)
Toutes les références ne sont pas représentées
def filter(condition, L): res = [] for item in L: if condition(item): res.append(item) return res def is_big(x): return x > 60 numbers = [42, 165, 69, 18, 24] big = filter(is_big, numbers) print(big)
Toutes les références ne sont pas représentées
def filter(condition, L): res = [] for item in L: if condition(item): res.append(item) return res def is_big(x): return x > 60 numbers = [42, 165, 69, 18, 24] big = filter(is_big, numbers) print(big)
Toutes les références ne sont pas représentées
def filter(condition, L): res = [] for item in L: if condition(item): res.append(item) return res def is_big(x): return x > 60 numbers = [42, 165, 69, 18, 24] big = filter(is_big, numbers) print(big)
Toutes les références ne sont pas représentées
def filter(condition, L): res = [] for item in L: if condition(item): res.append(item) return res def is_big(x): return x > 60 numbers = [42, 165, 69, 18, 24] big = filter(is_big, numbers) print(big)
Toutes les références ne sont pas représentées
def filter(condition, L): res = [] for item in L: if condition(item): res.append(item) return res def is_big(x): return x > 60 numbers = [42, 165, 69, 18, 24] big = filter(is_big, numbers) print(big)
Toutes les références ne sont pas représentées
def filter(condition, L): res = [] for item in L: if condition(item): res.append(item) return res def is_big(x): return x > 60 numbers = [42, 165, 69, 18, 24] big = filter(is_big, numbers) print(big)
Toutes les références ne sont pas représentées
def filter(condition, L): res = [] for item in L: if condition(item): res.append(item) return res def is_big(x): return x > 60 numbers = [42, 165, 69, 18, 24] big = filter(is_big, numbers) print(big)
Toutes les références ne sont pas représentées
def filter(condition, L): res = [] for item in L: if condition(item): res.append(item) return res def is_big(x): return x > 60 numbers = [42, 165, 69, 18, 24] big = filter(is_big, numbers) print(big)
Toutes les références ne sont pas représentées
def filter(condition, L): res = [] for item in L: if condition(item): res.append(item) return res def is_big(x): return x > 60 numbers = [42, 165, 69, 18, 24] big = filter(is_big, numbers) print(big)
Toutes les références ne sont pas représentées
def filter(condition, L): res = [] for item in L: if condition(item): res.append(item) return res def is_big(x): return x > 60 numbers = [42, 165, 69, 18, 24] big = filter(is_big, numbers) print(big)
Toutes les références ne sont pas représentées
def filter(condition, L): res = [] for item in L: if condition(item): res.append(item) return res def is_big(x): return x > 60 numbers = [42, 165, 69, 18, 24] big = filter(is_big, numbers) print(big)
Toutes les références ne sont pas représentées
filterfilter existe déjà en Python# A partir de cette liste numbers = [42, 165, 69, 18, 24] # Obtenir la valeur minimale minimum = 18 # Ou obtenir la somme des éléments total = 318
reduce()reduce()# la fonction `update` reçoit la valeur de l'accumulateur et un élément de la liste def reduce(update, L, initial): acc = initiale for item in L: acc = update(acc, item) return acc numbers = [42, 165, 69, 18, 24] def add(a, b): return a + b def min(a, b): if a < b: return a return b total = reduce(add, numbers, 0) minimum = reduce(min, numbers, numbers[0])
reduce()reduce existe déjà dans le package
functoolsfrom functools import reduce numbers = [42, 165, 69, 18, 24] def add(a, b): return a + b def min(a, b): if a < b: return a return b # Les appels deviennent plus simples avec le `reduce` de `functools` total = reduce(add, numbers) minimum = reduce(min, numbers)
students = [ ['Pierre', '1BA', 17], ['Mohamed', '2BA', 18], ['Paul', '1BA', 18], ['Jacques', '1BA', 17], ['Claudine', '2BA', 19], ['Charlotte', '1BA', 18], ['John', '1BA', 20], ['Pauline', '1BA', 17], ['Tom', '2BA', 24], ]
NAME = 0 BLOCK = 1 AGE = 2 def is_1BA(student): return student[BLOCK] == '1BA' def get_age(student): return student[AGE]
from functools import reduce students_1ba = filter(is_1BA, students) ages = map(get_age, students_1ba) mean_age = reduce(add, ages) / len(ages)
acc = 0 count = 0 for student in students: if is_1BA(student): count += 1 acc += get_age(student) mean_age = acc/count
map,
filter et reduce nous ont permis d’aborder le
problème avec un modèle mental beaucoup plus simpledef search(L, target): for i in range(len(L)): if L[i] == target: return i return None
def dichotomic_search(L, x): left = 0 right = len(L) - 1 while left <= right: mid = (left + right) // 2 if L[mid] == x: return mid if L[mid] < x: left = mid + 1 else: right = mid - 1 return None
from time import perf_counter from random import shuffle # créer une grande liste triée L = list(range(100000)) start = perf_counter() print(search(L, 90000)) print("Time:", perf_counter() - start) # Time: 0.002944834006484598 start = perf_counter() print(dichotomic_search(L, 90000)) print("Time:", perf_counter() - start) # Time: 6.416026735678315e-06
Temps d’exécution de search() proportionnel à
le nombre d’élément de la liste,
Temps d’exécution de dichotomic_search()
proportionnel à
,
On veut placer 3.
On cherche le bon emplacement j dans la sortie.
On insere 3 au bon endroit.
On veut placer 6.
On cherche le bon emplacement j dans la sortie.
On cherche le bon emplacement j dans la sortie.
On insere 6 au bon endroit.
On veut placer 2.
On cherche le bon emplacement j dans la sortie.
On insere 2 au bon endroit.
On veut placer 8.
On cherche le bon emplacement j dans la sortie.
On cherche le bon emplacement j dans la sortie.
On cherche le bon emplacement j dans la sortie.
On cherche le bon emplacement j dans la sortie.
On insere 8 au bon endroit.
On veut placer 1.
On cherche le bon emplacement j dans la sortie.
On insere 1 au bon endroit.
On veut placer 9.
On cherche le bon emplacement j dans la sortie.
On cherche le bon emplacement j dans la sortie.
On cherche le bon emplacement j dans la sortie.
On cherche le bon emplacement j dans la sortie.
On cherche le bon emplacement j dans la sortie.
On cherche le bon emplacement j dans la sortie.
On insere 9 au bon endroit.
On veut placer 4.
On cherche le bon emplacement j dans la sortie.
On cherche le bon emplacement j dans la sortie.
On cherche le bon emplacement j dans la sortie.
On cherche le bon emplacement j dans la sortie.
On insere 4 au bon endroit.
On veut placer 0.
On cherche le bon emplacement j dans la sortie.
On insere 0 au bon endroit.
On veut placer 7.
On cherche le bon emplacement j dans la sortie.
On cherche le bon emplacement j dans la sortie.
On cherche le bon emplacement j dans la sortie.
On cherche le bon emplacement j dans la sortie.
On cherche le bon emplacement j dans la sortie.
On cherche le bon emplacement j dans la sortie.
On cherche le bon emplacement j dans la sortie.
On insere 7 au bon endroit.
On veut placer 5.
On cherche le bon emplacement j dans la sortie.
On cherche le bon emplacement j dans la sortie.
On cherche le bon emplacement j dans la sortie.
On cherche le bon emplacement j dans la sortie.
On cherche le bon emplacement j dans la sortie.
On cherche le bon emplacement j dans la sortie.
On insere 5 au bon endroit.
Terminé !
def insert_sort(L): res = [] for item in L: j = 0 while j < len(res) and res[j] <= item: j += 1 res.insert(j, item) return res
inserti indique l'élement en cours de placement. Les éléments avant i sont triés. Ceux après reste à trier.
On veut placer 6.
i indique l'élement en cours de placement. Les éléments avant i sont triés. Ceux après reste à trier.
On sauve 6 dans Tmp.
i indique l'élement en cours de placement. Les éléments avant i sont triés. Ceux après reste à trier.
On cherche le bon emplacement j en partant de la fin.
i indique l'élement en cours de placement. Les éléments avant i sont triés. Ceux après reste à trier.
On cherche en décalant les valeurs pour faire une place à 6.
i indique l'élement en cours de placement. Les éléments avant i sont triés. Ceux après reste à trier.
j est au bon endroit.
i indique l'élement en cours de placement. Les éléments avant i sont triés. Ceux après reste à trier.
On met 6 au bon endroit.
i indique l'élement en cours de placement. Les éléments avant i sont triés. Ceux après reste à trier.
On veut placer 2.
i indique l'élement en cours de placement. Les éléments avant i sont triés. Ceux après reste à trier.
On sauve 2 dans Tmp.
i indique l'élement en cours de placement. Les éléments avant i sont triés. Ceux après reste à trier.
On cherche le bon emplacement j en partant de la fin.
i indique l'élement en cours de placement. Les éléments avant i sont triés. Ceux après reste à trier.
On cherche en décalant les valeurs pour faire une place à 2.
i indique l'élement en cours de placement. Les éléments avant i sont triés. Ceux après reste à trier.
On décale 6
i indique l'élement en cours de placement. Les éléments avant i sont triés. Ceux après reste à trier.
On continue de chercher
i indique l'élement en cours de placement. Les éléments avant i sont triés. Ceux après reste à trier.
On décale 3
i indique l'élement en cours de placement. Les éléments avant i sont triés. Ceux après reste à trier.
On continue de chercher
i indique l'élement en cours de placement. Les éléments avant i sont triés. Ceux après reste à trier.
j est au bon endroit.
i indique l'élement en cours de placement. Les éléments avant i sont triés. Ceux après reste à trier.
On met 2 au bon endroit.
i indique l'élement en cours de placement. Les éléments avant i sont triés. Ceux après reste à trier.
On veut placer 8.
i indique l'élement en cours de placement. Les éléments avant i sont triés. Ceux après reste à trier.
On sauve 8 dans Tmp.
i indique l'élement en cours de placement. Les éléments avant i sont triés. Ceux après reste à trier.
On cherche le bon emplacement j en partant de la fin.
i indique l'élement en cours de placement. Les éléments avant i sont triés. Ceux après reste à trier.
On cherche en décalant les valeurs pour faire une place à 8.
i indique l'élement en cours de placement. Les éléments avant i sont triés. Ceux après reste à trier.
j est au bon endroit.
i indique l'élement en cours de placement. Les éléments avant i sont triés. Ceux après reste à trier.
On met 8 au bon endroit.
i indique l'élement en cours de placement. Les éléments avant i sont triés. Ceux après reste à trier.
On veut placer 1.
i indique l'élement en cours de placement. Les éléments avant i sont triés. Ceux après reste à trier.
On sauve 1 dans Tmp.
i indique l'élement en cours de placement. Les éléments avant i sont triés. Ceux après reste à trier.
On cherche le bon emplacement j en partant de la fin.
i indique l'élement en cours de placement. Les éléments avant i sont triés. Ceux après reste à trier.
On cherche en décalant les valeurs pour faire une place à 1.
i indique l'élement en cours de placement. Les éléments avant i sont triés. Ceux après reste à trier.
On décale 8
i indique l'élement en cours de placement. Les éléments avant i sont triés. Ceux après reste à trier.
On continue de chercher
i indique l'élement en cours de placement. Les éléments avant i sont triés. Ceux après reste à trier.
On décale 6
i indique l'élement en cours de placement. Les éléments avant i sont triés. Ceux après reste à trier.
On continue de chercher
i indique l'élement en cours de placement. Les éléments avant i sont triés. Ceux après reste à trier.
On décale 3
i indique l'élement en cours de placement. Les éléments avant i sont triés. Ceux après reste à trier.
On continue de chercher
i indique l'élement en cours de placement. Les éléments avant i sont triés. Ceux après reste à trier.
On décale 2
i indique l'élement en cours de placement. Les éléments avant i sont triés. Ceux après reste à trier.
On continue de chercher
i indique l'élement en cours de placement. Les éléments avant i sont triés. Ceux après reste à trier.
j est au bon endroit.
i indique l'élement en cours de placement. Les éléments avant i sont triés. Ceux après reste à trier.
On met 1 au bon endroit.
i indique l'élement en cours de placement. Les éléments avant i sont triés. Ceux après reste à trier.
On veut placer 9.
i indique l'élement en cours de placement. Les éléments avant i sont triés. Ceux après reste à trier.
On sauve 9 dans Tmp.
i indique l'élement en cours de placement. Les éléments avant i sont triés. Ceux après reste à trier.
On cherche le bon emplacement j en partant de la fin.
i indique l'élement en cours de placement. Les éléments avant i sont triés. Ceux après reste à trier.
On cherche en décalant les valeurs pour faire une place à 9.
i indique l'élement en cours de placement. Les éléments avant i sont triés. Ceux après reste à trier.
j est au bon endroit.
i indique l'élement en cours de placement. Les éléments avant i sont triés. Ceux après reste à trier.
On met 9 au bon endroit.
i indique l'élement en cours de placement. Les éléments avant i sont triés. Ceux après reste à trier.
On veut placer 4.
i indique l'élement en cours de placement. Les éléments avant i sont triés. Ceux après reste à trier.
On sauve 4 dans Tmp.
i indique l'élement en cours de placement. Les éléments avant i sont triés. Ceux après reste à trier.
On cherche le bon emplacement j en partant de la fin.
i indique l'élement en cours de placement. Les éléments avant i sont triés. Ceux après reste à trier.
On cherche en décalant les valeurs pour faire une place à 4.
i indique l'élement en cours de placement. Les éléments avant i sont triés. Ceux après reste à trier.
On décale 9
i indique l'élement en cours de placement. Les éléments avant i sont triés. Ceux après reste à trier.
On continue de chercher
i indique l'élement en cours de placement. Les éléments avant i sont triés. Ceux après reste à trier.
On décale 8
i indique l'élement en cours de placement. Les éléments avant i sont triés. Ceux après reste à trier.
On continue de chercher
i indique l'élement en cours de placement. Les éléments avant i sont triés. Ceux après reste à trier.
On décale 6
i indique l'élement en cours de placement. Les éléments avant i sont triés. Ceux après reste à trier.
On continue de chercher
i indique l'élement en cours de placement. Les éléments avant i sont triés. Ceux après reste à trier.
j est au bon endroit.
i indique l'élement en cours de placement. Les éléments avant i sont triés. Ceux après reste à trier.
On met 4 au bon endroit.
i indique l'élement en cours de placement. Les éléments avant i sont triés. Ceux après reste à trier.
On veut placer 0.
i indique l'élement en cours de placement. Les éléments avant i sont triés. Ceux après reste à trier.
On sauve 0 dans Tmp.
i indique l'élement en cours de placement. Les éléments avant i sont triés. Ceux après reste à trier.
On cherche le bon emplacement j en partant de la fin.
i indique l'élement en cours de placement. Les éléments avant i sont triés. Ceux après reste à trier.
On cherche en décalant les valeurs pour faire une place à 0.
i indique l'élement en cours de placement. Les éléments avant i sont triés. Ceux après reste à trier.
On décale 9
i indique l'élement en cours de placement. Les éléments avant i sont triés. Ceux après reste à trier.
On continue de chercher
i indique l'élement en cours de placement. Les éléments avant i sont triés. Ceux après reste à trier.
On décale 8
i indique l'élement en cours de placement. Les éléments avant i sont triés. Ceux après reste à trier.
On continue de chercher
i indique l'élement en cours de placement. Les éléments avant i sont triés. Ceux après reste à trier.
On décale 6
i indique l'élement en cours de placement. Les éléments avant i sont triés. Ceux après reste à trier.
On continue de chercher
i indique l'élement en cours de placement. Les éléments avant i sont triés. Ceux après reste à trier.
On décale 4
i indique l'élement en cours de placement. Les éléments avant i sont triés. Ceux après reste à trier.
On continue de chercher
i indique l'élement en cours de placement. Les éléments avant i sont triés. Ceux après reste à trier.
On décale 3
i indique l'élement en cours de placement. Les éléments avant i sont triés. Ceux après reste à trier.
On continue de chercher
i indique l'élement en cours de placement. Les éléments avant i sont triés. Ceux après reste à trier.
On décale 2
i indique l'élement en cours de placement. Les éléments avant i sont triés. Ceux après reste à trier.
On continue de chercher
i indique l'élement en cours de placement. Les éléments avant i sont triés. Ceux après reste à trier.
On décale 1
i indique l'élement en cours de placement. Les éléments avant i sont triés. Ceux après reste à trier.
On continue de chercher
i indique l'élement en cours de placement. Les éléments avant i sont triés. Ceux après reste à trier.
j est au bon endroit.
i indique l'élement en cours de placement. Les éléments avant i sont triés. Ceux après reste à trier.
On met 0 au bon endroit.
i indique l'élement en cours de placement. Les éléments avant i sont triés. Ceux après reste à trier.
On veut placer 7.
i indique l'élement en cours de placement. Les éléments avant i sont triés. Ceux après reste à trier.
On sauve 7 dans Tmp.
i indique l'élement en cours de placement. Les éléments avant i sont triés. Ceux après reste à trier.
On cherche le bon emplacement j en partant de la fin.
i indique l'élement en cours de placement. Les éléments avant i sont triés. Ceux après reste à trier.
On cherche en décalant les valeurs pour faire une place à 7.
i indique l'élement en cours de placement. Les éléments avant i sont triés. Ceux après reste à trier.
On décale 9
i indique l'élement en cours de placement. Les éléments avant i sont triés. Ceux après reste à trier.
On continue de chercher
i indique l'élement en cours de placement. Les éléments avant i sont triés. Ceux après reste à trier.
On décale 8
i indique l'élement en cours de placement. Les éléments avant i sont triés. Ceux après reste à trier.
On continue de chercher
i indique l'élement en cours de placement. Les éléments avant i sont triés. Ceux après reste à trier.
j est au bon endroit.
i indique l'élement en cours de placement. Les éléments avant i sont triés. Ceux après reste à trier.
On met 7 au bon endroit.
i indique l'élement en cours de placement. Les éléments avant i sont triés. Ceux après reste à trier.
On veut placer 5.
i indique l'élement en cours de placement. Les éléments avant i sont triés. Ceux après reste à trier.
On sauve 5 dans Tmp.
i indique l'élement en cours de placement. Les éléments avant i sont triés. Ceux après reste à trier.
On cherche le bon emplacement j en partant de la fin.
i indique l'élement en cours de placement. Les éléments avant i sont triés. Ceux après reste à trier.
On cherche en décalant les valeurs pour faire une place à 5.
i indique l'élement en cours de placement. Les éléments avant i sont triés. Ceux après reste à trier.
On décale 9
i indique l'élement en cours de placement. Les éléments avant i sont triés. Ceux après reste à trier.
On continue de chercher
i indique l'élement en cours de placement. Les éléments avant i sont triés. Ceux après reste à trier.
On décale 8
i indique l'élement en cours de placement. Les éléments avant i sont triés. Ceux après reste à trier.
On continue de chercher
i indique l'élement en cours de placement. Les éléments avant i sont triés. Ceux après reste à trier.
On décale 7
i indique l'élement en cours de placement. Les éléments avant i sont triés. Ceux après reste à trier.
On continue de chercher
i indique l'élement en cours de placement. Les éléments avant i sont triés. Ceux après reste à trier.
On décale 6
i indique l'élement en cours de placement. Les éléments avant i sont triés. Ceux après reste à trier.
On continue de chercher
i indique l'élement en cours de placement. Les éléments avant i sont triés. Ceux après reste à trier.
j est au bon endroit.
i indique l'élement en cours de placement. Les éléments avant i sont triés. Ceux après reste à trier.
On met 5 au bon endroit.
i indique l'élement en cours de placement. Les éléments avant i sont triés. Ceux après reste à trier.
Terminé !
def insert_sort_in_place(L): for i in range(1, len(L)): tmp = L[i] j = i while j > 0 and L[j - 1] > tmp: L[j] = L[j - 1] j -= 1 L[j] = tmp
sort() et sorted()sort() du type list fait un tri
en placeL = [3, 6, 2, 8, 1, 9, 4, 0, 7, 5] L.sort() print(L) # [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
sorted() fait un tri dans une nouvelle
listL = [3, 6, 2, 8, 1, 9, 4, 0, 7, 5] L2 = sorted(L) print(L2) # [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] # `L` est inchangé
sort() et sorted()L = [3, 6, 2, 8, 1, 9, 4, 0, 7, 5] L.sort(reverse=True) print(L) # [9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
sort() et sorted()profs = [ ['LUR', 'Quentin Lurkin'], ['LRG', 'André Lorge'], ['FKY', 'Martin Fockedey'], ['FLE', 'Clémence Flémal'], ] def get_trigram(prof): return prof[0] # trigramme comme clé de tri L.sort(key=get_trigram) print(L) # profs = [ # ['FKY', 'Martin Fockedey'], # ['FLE', 'Clémence Flémal'], # ['LRG', 'André Lorge'], # ['LUR', 'Quentin Lurkin'], # ]