Listes en Python

I/ Construction

Exemple : la liste des carrés.

1) En extension

[0,1,4,9,16,25,36,49,64,81]

2) Par ajouts successifs

L = []
for x in range(10):
    L.append(x**2)

3) En compréhension

[x**2 for x in range(10)]

4) Accès à un élément

II/Algorithmes de base

1) Longueur de la liste

def longueur(L:list) -> int:
	n = 0
	for x in L:
		n = n+1
	return n

En Python on dispose de la fonction len.

2) test d'appartenance

def est_dedans(elt: int, L: list) -> bool:
	for x in L:
		if x==elt:
			return True
	else:
		return False

En Python on dispose de in.

3) Complexité

Ces deux algorithmes sont de complexité linéaire.

III/Statistiques

1) Minimum

def minimum(L: list) -> int:
	m = float('inf')
	for x in L:
		if x<m:
			m = x
	return m
    

Cet algorithme est de complexité linéaire.

2) Maximum

À faire en devoir maison

3) Moyenne

a) Somme

def somme(L:list) -> float:
    S = 0
    for elt in L:
        S += elt
    return S

Python dispose de la fonction prédéfinie sum.

b) Moyenne

def moyenne(L: list) -> float:
    return somme(L)/longueur(L)

IV/Tableaux à deux dimensions

1) Compréhension

T = [[j*k for k in range(10)] for j in range(10)]

T est la table de Pythagore (tables de multiplication regroupées).

2) Cellule

Pour accéder à la cellule qui est 6e ligne et 5e colonne on fait T[5][4].

3) Ligne

Pour accéder à la 6e ligne on fait T[5].

4) Colonne

Pour accéder à la 5e colonne on fait [T[k][4] for k in range(10)].