Les listes et tuples en Python
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"
.