Découpage des listes#
Une tâche courante en Python consiste à découper des parties de listes et de tuples, par exemple pour accéder à des parties spécifiques des listes.
Commençons par une liste de nombres
data = [34, 0, 65, 23, 51, 9, 50, 78, 34, 100]
Nous pouvons déterminer combien d’éléments se trouvent dans data :
len(data)
10
Comme montré précédemment, nous pouvons accéder à des éléments spécifiques en passant un index. Le comptage de l’index des éléments commence à 0.
data[0]
34
data[1]
0
Nous pouvons également passer des indices négatifs. Cela permettra d’accéder aux éléments à partir de la fin de la liste. Le dernier élément a l’index -1.
data[-1]
100
data[-2]
34
Sélection de plages dans les listes#
Nous pouvons également générer une nouvelle liste contenant les trois premiers éléments. Pour cela, nous passons une plage sous la forme [début:fin]. Le premier élément a l’index début et le dernier élément de la nouvelle liste sera juste avant fin.
data
[34, 0, 65, 23, 51, 9, 50, 78, 34, 100]
data[0:2]
[34, 0]
data[0:3]
[34, 0, 65]
data[1:2]
[0]
De plus, nous n’avons pas besoin de spécifier ni début ni fin si nous voulons sélectionner toutes les entrées d’une liste depuis le début ou jusqu’à la fin.
data
[34, 0, 65, 23, 51, 9, 50, 78, 34, 100]
data[:2]
[34, 0]
data[:3]
[34, 0, 65]
data[2:]
[65, 23, 51, 9, 50, 78, 34, 100]
data[3:]
[23, 51, 9, 50, 78, 34, 100]
Cela fonctionne également avec des indices négatifs
data[-2:]
[34, 100]
Parcourir les entrées des listes par pas#
Le : peut également être utilisé pour fournir une longueur de pas en utilisant la syntaxe [début:fin:pas].
data
[34, 0, 65, 23, 51, 9, 50, 78, 34, 100]
Par exemple, nous pouvons sélectionner un élément sur deux en commençant par le premier :
data[0:10:2]
[34, 65, 51, 50, 34]
data[::2]
[34, 65, 51, 50, 34]
Nous pouvons aussi commencer par le deuxième élément (index 1) :
data[1::2]
[0, 23, 9, 78, 100]
Tuples#
Tous les concepts introduits ci-dessus fonctionnent également avec les tuples
immutable_data = tuple(data)
immutable_data
(34, 0, 65, 23, 51, 9, 50, 78, 34, 100)
immutable_data[:5]
(34, 0, 65, 23, 51)
Exercice#
Veuillez sélectionner les trois nombres 23, 9 et 78 de data en utilisant une seule commande Python similaire aux commandes montrées ci-dessus.