Les listes et tuples en Python

lajus-teach
1,312 views

Open Source Your Knowledge, Become a Contributor

Technology knowledge has to be shared and made accessible for free. Join the movement.

Create Content

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 boucle for, permet de tester l'appartenance:
  • Itération: le mot-clé in, à l'intérieur d'une boucle for, 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

Quelle est la taille de la liste [1, 2, 3, 4] ?
Quelle est la taille de la liste [(1, 2), [3, 4]] ?
Quelle est la taille de la liste [(1, 2, 3, 4)] ?

for e in [(1, 2), [3, 4]]:
    print(e)
Qu'affiche ce programme (les '/' indiquant des retours à la ligne) ?

On effectue l'instruction:

l = [1.0, (1, 2, 3), [1, False], ("Tuple", ["Liste"]) ]
Que vaut l[2] ?
Que vaut l[3][1] ?
Que vaut l[3][1:] ?

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.

Luke, how many stars are there in these galaxies?

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".

Always two there are, no more, no less: a master and an apprentice.
Open Source Your Knowledge: become a Contributor and help others learn. Create New Content