Adloun

Les tranches

Exercice supplémentaire · niveau 2 · sciences numériques et technologie (seconde), chapitre 6 — Listes et simulations aléatoires · Manipuler une liste

Énoncé

Découvrir l'écriture L[a:b]. Donner le résultat de L[1:4], L[:3], L[2:] et L[::-1] pour L = [10, 20, 30, 40, 50], puis écrire une fonction renvoyant la seconde moitié d'une liste.

Corrigé

L = [10, 20, 30, 40, 50]
print(L[1:4])    # [20, 30, 40]
print(L[:3])     # [10, 20, 30]
print(L[2:])     # [30, 40, 50]
print(L[::-1])   # [50, 40, 30, 20, 10]

La règle est celle de range : la borne de début est incluse, celle de fin exclue. Omettre une borne, c'est aller jusqu'au bout du côté correspondant.

def seconde_moitie(L):
    return L[len(L) // 2:]

print(seconde_moitie([1, 2, 3, 4, 5]))   # [3, 4, 5]

Une tranche crée toujours une nouvelle liste : c'est pourquoi L[:] est une façon d'obtenir une copie superficielle.

Les autres exercices de ce chapitre Le cours du chapitre

Un blocage sur cet exercice ? Le tuteur d'Adloun guide par questions, sans donner la réponse.