Les listes (Python)

Les listes

> Tutoriel

Une liste permet de stocker plusieurs valeurs dans un ordre précis.

Création et utilisation d'une liste

On peut créer une liste avec la syntaxe suivante :

La première position dans une liste est la position 0. On accède à un élément précis de la liste avec :

De nombreuses opérations sont disponibles pour manipuler les listes. Les plus notables sont :

Itération sur une liste avec la boucle for in

On peut itérer sur chacune des valeurs d'une liste en utilisant une boucle for avec range, comme ceci :

Mais il existe une manière plus simple d'itérer sur chacune des valeurs d'une liste, la boucle for in. Le code suivant est équivalent au précédent en étant plus concis :

Évaluation des dégâts d'une arme et condition "finisher"

Notre IA actuelle a un problème : quand l'ennemi est presque mort, notre poireau va utiliser ses boosts, soins et boucliers avant d'utiliser son arme, alors qu'il pouvait finir l'ennemi !

Pour améliorer cette situation de fin de combat, on va estimer les dégâts qu'on peut infliger à l'ennemi pour savoir si on peut le finir.

On commence par récupérer avec me.weapon.features la liste des caractéristiques de notre arme :

Chaque caractéristique possède des propriétés : .type (le type d'effet), .minValue (valeur minimale), .maxValue (valeur maximale)... On calcule les dégâts finaux quand la caractéristique est un dégât :

On ajoute les dégâts au total :

On termine par une condition : si le total des dégâts est supérieur à la vie de l'ennemi, on va le tuer : on attaque ! Sinon, on attend avec des puces :

> Astuce : on peut extraire une plage d'une liste avec liste[2:8].

> Astuce : on peut imbriquer les listes : une liste dans une liste [ [1, 2, 3] ], et accéder à une liste dans une liste : liste[0][0].

❓ Quizz

À quoi peut servir une liste ?

Stocker plusieurs valeurs Trier des valeurs Exécuter des instructions en parallèle Réaliser plusieurs calculs

Quels codes sont valides ?

a = [1, 2, 3] a[0] + a[2] [1, 2, 3] = a len([1, 2, 3]) [ [1, 2], [3, 4], [5, 6] ] liste[5][10]

IA complète