You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
This repo is archived. You can view files and clone it, but cannot push or open issues/pull-requests.
 
 
 
 
 
 

145 lines
2.6 KiB

  1. Chapitre 7 - Listes
  2. ===================
  3. // TODO: split in pages
  4. Définition
  5. ----------
  6. Une liste est une *suite ordonée* d'éléments.
  7. Créer une liste
  8. ---------------
  9. Avec des crochets: ``[``, ``]``, et les élements séparés par des virgules::
  10. liste_vide = []
  11. trois_entiers = [1, 2, 3]
  12. Listes hétérogènes
  13. ------------------
  14. On peut mettre des types différents dans la même liste::
  15. ma_liste = [True, 2, "trois"]
  16. On peut aussi mettre des listes dans des listes::
  17. liste_de_listes = [[1, 2], ["Germaine", "Gertrude"]]
  18. Connaître la taille d'une liste
  19. -------------------------------
  20. Avec ``len()`` - encore une fonction native::
  21. >>> liste_vide = []
  22. >>> len(liste_vide)
  23. 0
  24. >>> trois_entiers = [1, 2, 3]
  25. >>> len(trois_entiers)
  26. 3
  27. Concaténation de listes
  28. -----------------------
  29. Avec ``+``::
  30. >>> prénoms = ["Alice", "Bob"]
  31. >>> prénoms += ["Charlie", "Eve"]
  32. >>> prénoms
  33. ['Alice', 'Bob', "Charlie", 'Eve']
  34. On ne peut concaténer des listes que avec d'autres listes::
  35. >>> scores = [1, 2, 3]
  36. >>> scores += 4 # TypeError
  37. >>> scores += [4] # OK
  38. Test d'appartenance
  39. -------------------
  40. Avec ``in``::
  41. >>> prénoms = ["Alice", "Bob"]
  42. >>> "Alice" in prénoms
  43. True
  44. >>> prénoms = ["Alice", "Bob"]
  45. >>> "Charlie" in prénoms
  46. False
  47. Itérer sur les élements d'une liste
  48. ------------------------------------
  49. Avec ``for ... in``::
  50. prénoms = ["Alice", "Bob", "Charlie"]
  51. for prénom in prénoms:
  52. # La variable 'prénom" est assignée à chaque
  53. # élément de la liste
  54. print("Bonjour", prénom)
  55. Bonjour Alice
  56. Bonjour Bob
  57. Bonjour Charlie
  58. ## Indéxer une liste
  59. * Avec `[]` et un entier
  60. * Les index valides vont de 0 à `n-1` où `n` est la
  61. taille de la liste::
  62. >>> fruits = ["pomme", "orange", "poire"]
  63. >>> fruits[0]
  64. "pomme"
  65. >>> fruits[1]
  66. "orange"
  67. >>> list[2]
  68. "poire"
  69. >>> fruits[3] # IndexError
  70. Modifier une liste
  71. -------------------
  72. Encore une assignation::
  73. >>> fruits = ["pomme", "orange", "poire"]
  74. >>> fruits[0] = "abricot"
  75. >>> fruits
  76. ["abricot", "orange", "poire"]
  77. Les strings sont aussi des listes (presque)
  78. --------------------------------------------
  79. On peut itérer sur les caractères d'une string::
  80. for c in "vache":
  81. print(c)
  82. .. code-block: console
  83. v
  84. a
  85. c
  86. h
  87. e
  88. On peut tester si un caractère est présent::
  89. >>> "e" in "vache"
  90. True
  91. >>> "x" in "vache"
  92. False
  93. Mais on neut peut pas modifier une string::
  94. >>> prénom = "Charlotte"
  95. >>> prénom[0]
  96. "C"
  97. >>> prénom[3]
  98. "r"
  99. >>> prénom[0] = "X" # TypeError