No puede seleccionar más de 25 temas Los temas deben comenzar con una letra o número, pueden incluir guiones ('-') y pueden tener hasta 35 caracteres de largo.
Este repositorio está archivado. Puede ver los archivos y clonarlo, pero no puede subir cambios o reportar incidencias ni pedir Pull Requests.
 
 
 
 
 
 

220 líneas
4.2 KiB

  1. Chapitre 6 - Listes
  2. ===================
  3. Définition
  4. ----------
  5. Une liste est une *suite ordonnée* d'éléments.
  6. Créer une liste
  7. ---------------
  8. Avec des crochets: ``[``, ``]``, et les éléments séparés par des virgules::
  9. liste_vide = []
  10. trois_entiers = [1, 2, 3]
  11. Listes hétérogènes
  12. ------------------
  13. On peut mettre des types différents dans la même liste::
  14. ma_liste = [True, 2, "trois"]
  15. On peut aussi mettre des listes dans des listes::
  16. liste_de_listes = [[1, 2], ["Germaine", "Gertrude"]]
  17. Connaître la taille d'une liste
  18. -------------------------------
  19. Avec ``len()`` - encore une fonction native::
  20. liste_vide = []
  21. taille = len(liste_vide)
  22. print(taille)
  23. # affiche: 0
  24. trois_entiers = [1, 2, 3]
  25. taille = len(trois_entiers)
  26. print(taille)
  27. # affiche: 3
  28. Concaténation de listes
  29. -----------------------
  30. Avec ``+``::
  31. prénoms = ["Alice", "Bob"]
  32. prénoms += ["Charlie", "Eve"]
  33. print(prénoms)
  34. # affiche: ['Alice', 'Bob', "Charlie", 'Eve']
  35. On ne peut concaténer des listes que avec d'autres listes::
  36. scores = [1, 2, 3]
  37. scores += 4
  38. # erreur
  39. scores += [4]
  40. print(scores)
  41. # affiche: [1,2,3,4]
  42. Test d'appartenance
  43. -------------------
  44. Avec ``in``::
  45. prénoms = ["Alice", "Bob"]
  46. print("Alice" in prénoms)
  47. # affiche: True
  48. prénoms = ["Alice", "Bob"]
  49. print("Charlie" in prénoms)
  50. # affiche: False
  51. Itérer sur les éléments d'une liste
  52. ------------------------------------
  53. Avec les mots-clés ``for`` et `` in``::
  54. prénoms = ["Alice", "Bob", "Charlie"]
  55. for prénom in prénoms:
  56. # Chaque élément de la liste est assigné tour à tour
  57. # à la variable 'prénom"
  58. print("Bonjour", prénom)
  59. .. code-block:: text
  60. Bonjour Alice
  61. Bonjour Bob
  62. Bonjour Charlie
  63. break
  64. -----
  65. Comme pour les boucles `while`, on peut interrompre la boucle `for` avec `break`::
  66. prénoms = ["Alice", "Bob", "Charlie"]
  67. for prénom in prénoms:
  68. if prénom == "Bob":
  69. break
  70. print("Bonjour", prénom)
  71. .. code-block:: text
  72. Bonjour Alice
  73. Bonjour Charlie
  74. continue
  75. --------
  76. On peut interrompre l'exécution *du bloc courant* (et uniqument le
  77. bloc courant) avec le mot-clé ``continue``::
  78. prénoms = ["Alice", "Bob", "Charlie"]
  79. for prénom in prénoms:
  80. if prénom == "Bob":
  81. continue
  82. print("Bonjour", prénom)
  83. .. code-block:: text
  84. Bonjour Alice
  85. Bonjour Charlie
  86. Indéxer une liste
  87. ------------------
  88. * Avec ``[]`` et un entier
  89. * Les index valides vont de 0 à ``n-1`` où ``n`` est la
  90. taille de la liste::
  91. fruits = ["pomme", "orange", "poire"]
  92. print(fruits[0])
  93. # affiche: "pomme"
  94. print(fruits[1])
  95. # affiche: "orange"
  96. print(list[2])
  97. # affiche: "poire"
  98. fruits[3]
  99. # erreur: IndexError
  100. Modifier une liste
  101. -------------------
  102. Encore une assignation::
  103. fruits = ["pomme", "orange", "poire"]
  104. fruits[0] = "abricot"
  105. print(fruits)
  106. # affiche: ["abricot", "orange", "poire"]
  107. Les strings sont aussi des listes (presque)
  108. --------------------------------------------
  109. On peut itérer sur les caractères d'une string::
  110. for c in "vache":
  111. print(c)
  112. .. code-block: console
  113. v
  114. a
  115. c
  116. h
  117. e
  118. On peut tester si un caractère est présent::
  119. print("e" in "vache")
  120. # affiche: True
  121. print(x" in "vache")
  122. # affiche: False
  123. Mais on ne peut pas modifier une string::
  124. prénom = "Charlotte"
  125. l = prénom[0]
  126. print(l)
  127. # affiche: "C"
  128. l = prénom[3]
  129. print(l)
  130. # affiche: "r"
  131. prénom[0] = "X"
  132. # erreur: TypeError
  133. Falsy et truthy
  134. ----------------
  135. En réalité on peut mettre autre chose qu'une comparaison ou une variable booléenne après le if.
  136. Si on met une liste vide, ``if`` se comportera comme si on avait mis une valeur fausse, et si
  137. la liste n'est pas vide , ``if`` se comportera comme si on avait mis une valeur vraie.::
  138. ma_liste = [1, 2, 3]
  139. if ma_liste:
  140. print("ma_liste n'est pas vide")
  141. # affiche: ma_liste n'est pas vide
  142. mon_autre_liste = []
  143. if not mon_autre_liste:
  144. print("mon_autre_liste est vide")
  145. # affiche: mon_autre_liste est vide
  146. On dit que les listes vides sont *Falsy* et les listes non-vides *Truthy*