Les listes et tuples en Python
Open Source Your Knowledge, Become a Contributor
Technology knowledge has to be shared and made accessible for free. Join the movement.
Les listes et les tuples
De la même manière qu'une chaîne de caractères est un objet Python contenant 0, 1 ou plusieurs caractères, un tuple ou une liste est un objet Python pouvant contenir 0, 1 ou plusieurs objets Python.
Un tuple est un ensemble d'objets séparés par des ,
(éventuellement entre parenthèses). Par exemple on peut définir le tuple contenant les trois valeurs entières 1, 2 et 3
de la manière suivante:
Une liste est un ensemble d'objets séparés par des ,
entre crochets: [
et ]
:
Des conteneurs universels
Les listes et les tuples peuvent contenir n'importe quels types d'objets:
Ils peuvent contenir des objets de types différents:
Ils peuvent même contenir d'autres tuples ou listes:
Opérations sur les tuples et listes
Pour manipuler les tuples et les listes, on peut utiliser les mêmes opérations que sur les chaînes de caractères[^1]:
- Taille à l'aide de la fonction
len()
:
- Concaténation à l'aide de l'opération
+
- Appartenance: le mot-clé
in
, à l'extérieur d'une bouclefor
, permet de tester l'appartenance:
- Itération: le mot-clé
in
, à l'intérieur d'une bouclefor
, permet d'itérer sur les éléments de la liste:
- Accès au ième élément l'aide de l'opérateur
[i]
:
- Sous-chaîne à l'aide de l'opération
[i:j]
:
QCM
for e in [(1, 2), [3, 4]]:
print(e)
On effectue l'instruction:
l = [1.0, (1, 2, 3), [1, False], ("Tuple", ["Liste"]) ]
Exercices
Interface exercice: lorsque vous appuyez sur RUN, un autre script Python sera exécuté. Ce script effectuera des tests unitaires sur les fonctions demandés.
Lorsque qu'un test unitaire échoue ou lorsque votre programme retourne une erreur, l'interface indiquera "Failure". Pensez à bien lire le message d'erreur renvoyé pour comprendre où est votre erreur.
Le mot-clé pass
en Python signifie "ne rien faire". Celui-ci sera utilisé pour indiquer un endroit à compléter.
Yoda veut compter le nombre d'étoiles dans l'univers.
Il vous demande de compléter la fonction count_all_stars
prenant en argument une liste contenant le nombre d'étoiles dans chaque galaxie pour qu'elle renvoie le nombre total d'étoiles dans l'univers.
Par exemple, supposons qu'il y a deux galaxies dans l'univers, la première possédant 2 étoiles et la seconde en possédant 3, alors count_all_stars([2, 3])
devra renvoyer la valeur 5
.
Yoda recherche des indices pour identifier le seigneur Sith s'étant infiltré au cœur de la république. Pour cela, il recherche des messages transmis en double (par le seigneur Sith et son apprenti) dans les communications intergalactiques.
Compléter la fonction find_duplicate
prenant en argument la liste des messages intergalactiques et renvoyant le premier message de cette liste apparaissant au moins deux fois dans la liste.
Par exemple, si "Luke"
, "Order 66"
, "Order 66"
, "Obiwan Kenobi"
est la liste des messages, find_duplicate
devra renvoyer "Order 66"
.