{"cells":[{"metadata":{"trusted":false},"cell_type":"code","source":"import numpy as np","execution_count":1,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"
\n
\n \"logo \n
\n
\n \"logo \n
\n
\n

TP Python 5 : focus sur les listes \n

\n
\n
"},{"metadata":{},"cell_type":"markdown","source":"# Partie I : Introduction \n## I.1) : Manipuler les listes \n\n
\n\n- Lorsqu'on a besoin de garder et d'utiliser plusieurs variables au cours d'un programme, on utiliser des **listes** pour les stocker.\n \n \n\n- Une liste est une collection d'objets de différents types (variables numérique, chaînes de caractères, booléens, listes, etc.).\n \n \n \n- Une liste est une variable que l'on peut nommer comme on le souhaite.\n \n- Une liste a une taille **variable**!\n \n \n \nDans les exemples ci-dessous, la variable liste est nommée L :\n\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
DescriptionCode
Liste videL = []
Liste contenant des objets de types différentsL = [3, \"lundi\", 5.6, True]
L = [\"mardi\", 4.5, [7, 8, 9], 45.1]
Premier objet de la liste ou objet de rang 0L[0]
k+1-ième objet de la liste ou objet de rang kL[k]
Dernier objet de la listeL[-1]
Longueur ou nombre d'objets d'une listelen(L)
Ajouter un objet en fin de listeL.append(objet)
Insérer un objet au rang kL.insert(rang, objet)
Concaténer (rassembler) deux listesL1 + L2
\n \n**Remarque**:\n \n- Les listes contiennent des objets de types différents, contrairement aux chaînes de caractères qui ne contiennent que des objets de type chaîne.\n \n- La boucle bornée **for** *element* **in liste** possède la même syntaxe que pour la chaîne de caractères. La variable *element* va prendre les valeurs successives des objets de la liste (cf. parcourir une liste).\n\n**Exemple :**\n```python\nListe1 = []\nNombres = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]\nMois = [\"janvier\", \"février\", \"mars\", \"avril\", \"mai\", \"juin\", \"juillet\", \"août\", \"septembre\", \"octobre\", \"novembre\",\"décembre\"]\n```\n - Une liste est donc une variable dans laquelle les données sont placées entre crochet.\n \n - La première liste créée s'appelle **Liste1** et est **vide**.\n \n - La deuxième liste s'appelle **Nombres** et comprend 12 élèments, les nombres de 0 à 12.\n \n - La troisième liste s'appelle **Mois** et comprend 12 élèments, des chaînes de caractères, les douze mois de l'année.\n \n- Nous avons créé ces listes à l'aide d'une saisie manuelle de chacun de ses éléments, on dit que la **liste a été créée en extension**\n\n
\n\n## I.2) Accéder aux éléments d'une liste\n\n\n\n
\n \nAvec les listes définies dans l'exemple précédent : \n \n- Nombres[0] renvoie 1, car 1 est le premier élément de la liste **Nombres**\n\n- Nombres[3] renvoie 4, car 4 est le quatrième élément de la liste **Nombres** \n \n
\n\n
\n Attention ! Il y a un décalage car on commence au rang 0
\n \n- Nombres[-1] renvoie 12, car 12 est le dernier élément de la liste **Nombres**\n\n- Nombres[-2] renvoie 11, car 11 est l'avant dernier élément de la liste **Nombres**\n \n \n\n\n**Illustration du principe de lecture des éléments :**\n \n![senslecture.png](attachment:senslecture.png)\n\n \n - **Dans le sens de lecture :** le premier élément est accessible avec l'indice 0.\n \n - **Dans le sens inverse de lecture :** le premier élément est accessible avec l'indice -1.\n\n
\n\n## I.3) : Créer une liste par ajouts successifs\n\n\n
\n\n- La méthode append permet d'**ajouter un nouvel élément en fin de liste**.\n \n- Elle s'utilise selon la syntaxe : liste.append(nouvel_element) \n \n**Exemple :**\n```python\nNombres = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]\nNombres.append(13)\n```\nOn vient d'ajouter le nouvel élément : 13 à la fin de la liste.\n \nAinsi, le liste devient :\n\n```python\nNombres = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13]\n```\n\n**Remarques :**\n\n - Une liste est ordonnée : [1, 2, 3, 4, 5] \\$\\neq \\$ [2, 1, 3, 4, 5] \n \n - Une liste peut contenir plusieurs fois le même élément : [1, 2, 2, 2, 3] \\$\\neq \\$ [1, 2, 3] \n
\n\n
À vous de faire :
\n \nSaisir dans la console la liste : Nombres = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12] \n\nÀ l'aide d'une boucle, compléter la liste des entiers jusqu'à 31.\n
\n","attachments":{"senslecture.png":{"image/png":"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"}}},{"metadata":{"trusted":false},"cell_type":"code","source":"","execution_count":12,"outputs":[{"output_type":"execute_result","execution_count":12,"data":{"text/plain":"['chat', 2, 2]"},"metadata":{}}]},{"metadata":{"trusted":true},"cell_type":"markdown","source":"
\n\n
\n →Cliquez-ici pour la réponse← \n\n\nVoici un programme possible :\n\n```python\nNombres = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]\ni = Nombres[-1]\nwhile i < 31 :\n i += 1 ### cela revient au même que d'écrire i = i + 1\n Nombres.append(i)\nprint(Nombres)\n```\n```python\nNombres = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]\n\nfor k in range(13,32):\n Nombres.append(k)\n\nNombres\n```\n\n
\n
"},{"metadata":{"trusted":false},"cell_type":"code","source":"","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"markdown","source":"
À vous de faire :
\n \nEn partant d'une liste vide, créer, par ajout successifs, la suite des nombres pairs de 0 à 100.\n
"},{"metadata":{"trusted":false},"cell_type":"code","source":"","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"
\n\n
\n →Cliquez-ici pour la réponse← \n\n\nVoici un programme possible :\n\n```python\nL = []\nfor i in range(51) :\n L.append(2*i)\nprint(L)\n```\n
\n
"},{"metadata":{"trusted":false},"cell_type":"code","source":"","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"# Partie II : Différentes méthodes et opérateurs sur les listes \n## II.1) Quelques méthodes\n\n\n
\n\n- La méthode extend permet d'**ajouter à une liste, tous les éléments d'une autre liste**.\n \n - Elle s'utilise selon la syntaxe : liste.extend(liste2) \n \n
\n\n- La méthode insert permet d'**insérer un objet v à l'indice i**.\n \n - Elle s'utilise selon la syntaxe : liste.insert(i,v) \n \n
\n\n- La méthode pop permet de **supprimer l'élément d'indice i de la liste (par défaut le dernier) et retourne la valeur de l'élément supprimé**.\n \n - Elle s'utilise selon la syntaxe : liste.pop(i) \n \n
\n \n- La méthode remove permet de **supprimer la première valeur v dans s**.\n \n - Elle s'utilise selon la syntaxe : liste.remove(v) \n \n
\n\n- La méthode reverse permet de **renverser l'ordre des éléments de la liste**.\n \n - Elle s'utilise selon la syntaxe : liste.reverse() \n \n\n \n**Exemples :**\n\n- Avec liste2 = [51, 91] et liste2.extend([24, 33]) , on obtient [51, 91, 24, 33] .\n\n- Ensuite avec liste2.insert(0,55) , on obtient [55, 51, 91, 24, 33] .\n \n- Puis, avec liste2.pop(0) , on obtient [51, 91, 24, 33] .\n \n- Puis, avec liste2.pop() , on obtient [51, 91, 24] .\n\n- Puis, avec liste2.extend([1,2,1]) , on obtient [51, 91, 24, 1, 2, 1] .\n\n- Puis, avec liste2.remove(1) , on obtient [51, 91, 24, 2, 1] .\n \n- Et enfin, avec liste2.reverse() , on obtient [1, 2, 24, 91, 51] .\n \n
\n\n## II.1) Quelques opérateurs\n
\n\n- L'opérateur len permet de **connaître la longueur de la liste**.\n \n - Elle s'utilise selon la syntaxe : len(liste) \n \n
\n\n- L'opérateur del permet de **supprimer un ou des éléments de la liste**.\n \n - Elle s'utilise selon la syntaxe : del liste[i] ou del liste[i:j] \n\n
\n\n- L'opérateur + permet d'**ajouter un élément à une la liste**.\n \n - Elle s'utilise selon la syntaxe : liste = liste + [v] \n \n**Exemples :**\n \n- Avec liste3 = [\"haricot\", \"bettrave\", \"navet\", \"courgette\", \"asperge\"] .\n\n- Avec len(liste3) , renvoie 5 .\n \n- Avec del liste3[2] , on obtient ['haricot', 'bettrave', 'courgette', 'asperge'] .\n \n- Puis, avec del liste3[1:3] , on obtient ['haricot', 'asperge'] .\n \n- Et enfin, avec liste3 = liste3+[1,2] , on obtient ['haricot', 'asperge', 1, 2] .\n\n
\n\n## II.3) Parcourir les listes\n
\n\nVoici deux rédactions d'une fonction Somme.\n \nCes fonctions ont pour paramètre une liste L de nombres et elles renvoient pour résultat la somme des nombres de L.\n \n```python\ndef Somme1(L):\n longueur = len(L)\n S = 0\n for i in range (0,longueur):\n S += L[i]\n return S \n```\n \n```python\ndef Somme2(L):\n S = 0\n for i in L:\n S += i\n return S \n```\nLes deux fonctions renvoient le même résultat. Cela permet d'illustrer le fait qu'on peut faire une boucle directement avec les éléments d'une liste. \n
"},{"metadata":{},"cell_type":"markdown","source":"# Partie III : Liste en compréhension \n## III.1) Sans condition\n\n\n
\nEn Python, la notion de liste de compréhension (ou compréhension de listes) représente une manière originale et très puissante de générer des listes. \n \nLa syntaxe de base comprend au moins une boucle for placée entre crochets, précédée d'une variable (qui peut ou non être la variable d'itération).\n \n**Exemples :**\n \n- [i for i in range(10)] renvoie la liste [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] \n \n- [2 for i in range(5)] renvoie la liste [2, 2, 2, 2, 2] \n \n
\n
À vous de faire :
\n \nCréer une fonction Ecarts ayant pour paramètre une liste L de nombres et un nombre e. \n \nElle renvoie la liste des écarts abs(x-e) entre les nombres x de L et le nombre e.\n
"},{"metadata":{"trusted":false},"cell_type":"code","source":"","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"
\n\n
\n →Cliquez-ici pour la réponse← \n\n\nVoici une fonction possible :\n\n```python\ndef Ecarts(e,L):\n return([abs(i-e) for i in L])\n```\nPar exemple, cette instruction, Ecarts(5,[1,2,3,4,5,6,7,8,9,10]) renvoie, [4, 3, 2, 1, 0, 1, 2, 3, 4, 5] \n
\n
"},{"metadata":{},"cell_type":"markdown","source":"## III.2) Avec condition\n\n\n
\n\nOn peut aussi ajouter des conditions lors de la création d'une liste en compréhension.\n \n \n**Exemple :** \n\n \n [i for i in range(100) if i % 2 !=0] renvoie [1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29, 31, 33, 35, 37, 39, 41, 43, 45, 47, 49, 51, 53, 55, 57, 59, 61, 63, 65, 67, 69, 71, 73, 75, 77, 79, 81, 83, 85, 87, 89, 91, 93, 95, 97, 99] \n \n \nCette liste affiche les nombres impairs compris entre 0 et 100.\n \n
\n\n
À vous de faire :
\n \nCréer une fonction Proches ayant pour paramètre une liste L de nombres et deux nombres e et r. \n \nElle renvoie la liste des éléments x de L tels que l'écart entre x et e soit inférieur ou égal à r.\n \n
"},{"metadata":{"trusted":false},"cell_type":"code","source":"","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"
\n\n
\n →Cliquez-ici pour la réponse← \n\n\nVoici une fonction possible :\n\n```python\ndef Proches(L,e,r):\n return([i for i in L if abs(i-e)<=r])\n```\nPar exemple, cette instruction, Proches([1,2,3,4,5,6,7,8,5,4,5,12,5,8,5,6],5,2) renvoie, [3, 4, 5, 6, 7, 5, 4, 5, 5, 5, 6] \n
\n
"},{"metadata":{},"cell_type":"markdown","source":"# Partie IV : Exercices "},{"metadata":{},"cell_type":"markdown","source":"
Exercice 1 :
\n Considérons la suite $(p_n)_{n\\in \\mathbb{N}}$ définie par, pour tout entier naturel $n$ :\n \\[ \\begin{cases}p_0 =0.3 \\\\ p_{n+1}=0.3 + 0.7p_{n}^2\\end{cases}.\\]\n Écrire une fonction qui renvoie la liste des n premiers termes de la suite.\n
"},{"metadata":{"trusted":false},"cell_type":"code","source":"","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"
Exercice 2 :
\n Considérons la suite $(u_n)_{n\\in \\mathbb{N}}$ définie par, pour tout entier naturel $n$ :\n \\[ \\begin{cases}u_0 = 1 \\\\ u_{n+1}= \\dfrac{u_n}{1+u_{n}}\\end{cases}.\\]\n Écrire une fonction qui renvoie la liste des n premiers termes de la suite.\n
"},{"metadata":{"trusted":false},"cell_type":"code","source":"","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"
Exercice 3 :
\n\n1. a. Écrire dans l'éditeur l'instruction :\n\n```python\nL=[2*i+1 for i in range(10)] \n```\n1. b. Quel est le contenu de la liste L ?\n \n 2. Créer la liste appelée cubes, des cubes des cinq premiers nombres impairs positifs.\n
"},{"metadata":{"trusted":false},"cell_type":"code","source":"","execution_count":null,"outputs":[]},{"metadata":{"trusted":false},"cell_type":"code","source":"","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"
Exercice 4 :
\n
    \n
  1. Écrire une fonction produit qui calcule le produit des éléments d'une liste de nombres donnée.\n
  2. Écrire une fonction moyenne qui calcule la moyenne d'une liste L1 de valeurs dont les effectifs sont dans une liste L2.\n
\nRemarque : on peut définir au préalable une fonction somme pour compléter plus facilement la deuxième fonction.\n
"},{"metadata":{"trusted":false},"cell_type":"code","source":"","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"
Exercice 5 :
\n Soit L une liste d'entiers naturels. Écrire une fonction pair(L) pour qu'elle renvoie la liste P des entiers naturels pairs de L.\n
"},{"metadata":{"trusted":false},"cell_type":"code","source":"","execution_count":null,"outputs":[]}],"metadata":{"kernelspec":{"name":"python3","display_name":"Python 3","language":"python"}},"nbformat":4,"nbformat_minor":2}