suppression des cours version notebook
This commit is contained in:
@@ -1,478 +0,0 @@
|
||||
{
|
||||
"cells": [
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "bb1cfae9",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"## Représentation des données : Les Dictionnaires "
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "c09a37ee",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"-------------"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "38d1e9f4",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"> ***Contenue*** : Notions introduites : le type dictionnaire\n",
|
||||
"\n",
|
||||
"> ***Compétences*** : Construire une entrée de dictionnaire, savoir itérer sur es élèments d'un dictionnaire, connaître les méthodes."
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "0beaa407",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"## Le programme"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "dcbf1fd3",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"-----"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "57421c29",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
""
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "401edcc8",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"## Apport de connaissances"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "717cce94",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"--------"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "0fc298dc",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"Les dictionnaires Python permettent d'associer des valeurs à des clés : À partir d'une clé, on peut alors accéder directement à la valeur qui lui est associée."
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "607fa703",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"### Propriétés"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "9e023220",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"Les dictionnaires sont des conteneurs, comme les listes et tuples, vus précédemment, et sont mutables : *on peut donc modifier, ajouter ou supprimer du contenu.*\n",
|
||||
"\n",
|
||||
"Par contre, contrairement aux types de conteneurs précédémment étudiés, on ne peut pas accéder au contenu d'un dictionnaire à l'aide d'un indice : un dictionnaire n'est pas une séquence.\n",
|
||||
"\n",
|
||||
"Si on peut bien modifier les valeurs dans un dictionnaire, chaque clé est *unique et non mutable*. Elle peut être une chaîne de caractères, un nombre, un tulle de nombre...\n",
|
||||
"\n",
|
||||
"Enfin, les valeurs, quant à elles, peuvent être quelconques."
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "555ca300",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"------"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "21761a39",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"### Création et accès"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "e219df29",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"Pour initialiser un dictionnaire vide : "
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 1,
|
||||
"id": "09f0144b",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"dico = {}\n",
|
||||
"#ou\n",
|
||||
"dico = dict()"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "766eeca7",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"Pour initialiser un dictionnaire avec des valeurs :"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 3,
|
||||
"id": "8523655d",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"perso = {\"prenom\" : \"Bilbo\", \"age\" : 111}"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "7f350ef3",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"On a donc la clé en premier, ici, prenom & age sont deux chaines de caractères faisant office de clés.\n",
|
||||
"\n",
|
||||
"Accéder à une valeur d'un dictionnaire : on donne la clé à laquelle est associée la valeur recherchée (il faut donc que la clé existe)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 5,
|
||||
"id": "c1124575",
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
"text/plain": [
|
||||
"'Bilbo'"
|
||||
]
|
||||
},
|
||||
"execution_count": 5,
|
||||
"metadata": {},
|
||||
"output_type": "execute_result"
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"perso [\"prenom\"]\n",
|
||||
"'Bilbo'"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 6,
|
||||
"id": "094043d5",
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"ename": "KeyError",
|
||||
"evalue": "'taille'",
|
||||
"output_type": "error",
|
||||
"traceback": [
|
||||
"\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
|
||||
"\u001b[0;31mKeyError\u001b[0m Traceback (most recent call last)",
|
||||
"\u001b[0;32m/var/folders/nb/7k573f_13zj2tnc5xd0020l40000gn/T/ipykernel_27744/399847934.py\u001b[0m in \u001b[0;36m<module>\u001b[0;34m\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0mperso\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m\"taille\"\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m",
|
||||
"\u001b[0;31mKeyError\u001b[0m: 'taille'"
|
||||
]
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"perso[\"taille\"]"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "a29f8a7f",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"Tout comme les listes, on peut utiliser la fonction ***len*** pour connaître le nombre de couples stockés."
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 7,
|
||||
"id": "1e8c5e32",
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
"text/plain": [
|
||||
"2"
|
||||
]
|
||||
},
|
||||
"execution_count": 7,
|
||||
"metadata": {},
|
||||
"output_type": "execute_result"
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"len(perso)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "865d51b5",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"-----"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "a1984b3d",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"### Modification et parcours"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "dfd2f41e",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
" On ajoute très simplement un couple clé / valeur :"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 8,
|
||||
"id": "24211303",
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
"text/plain": [
|
||||
"{'prenom': 'Bilbo', 'age': 111, 'taille': 112}"
|
||||
]
|
||||
},
|
||||
"execution_count": 8,
|
||||
"metadata": {},
|
||||
"output_type": "execute_result"
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"perso [\"taille\"] = 112\n",
|
||||
"perso"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "24fbdfae",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
" Pour modifier une valeur, c'est la même méthode : on ajoute un couple deja existant, et cela va écraser la valeur précédente :"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 9,
|
||||
"id": "83ad4a74",
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
"text/plain": [
|
||||
"{'prenom': 'Bilbo', 'age': 131, 'taille': 112}"
|
||||
]
|
||||
},
|
||||
"execution_count": 9,
|
||||
"metadata": {},
|
||||
"output_type": "execute_result"
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"perso[\"age\"] = 131\n",
|
||||
"perso"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "4fa255d5",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"Pour supprimer une clé et sa valeur associée, on peut utiliser la fonction ***del***:"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 12,
|
||||
"id": "fc43064d",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"del perso[\"age\"]"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "c9021bee",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"------"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "225cf727",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"Comme les listes et les tuples, les dictionnaires sont intérables : on itère sur les clés, les valeurs, ou les couples clé / valeur\n",
|
||||
"\n",
|
||||
"- Itération sur les clés :"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 14,
|
||||
"id": "2be77c4a",
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"name": "stdout",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"prenom\n",
|
||||
"taille\n"
|
||||
]
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"for cle in perso.keys():\n",
|
||||
" print (cle)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "6a0ddd68",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"- Itération sur les valeurs :"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 15,
|
||||
"id": "534dbdba",
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"name": "stdout",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"Bilbo\n",
|
||||
"112\n"
|
||||
]
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"for val in perso.values():\n",
|
||||
" print(val)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "d77a9b92",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"- Itération sur les couples clé / valeur:"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 16,
|
||||
"id": "21a715ba",
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"name": "stdout",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"prenom -> Bilbo\n",
|
||||
"taille -> 112\n"
|
||||
]
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"for (cle, val) in perso.items():\n",
|
||||
" print(cle, \"->\", val)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "222e7ae8",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"✏ Par défaut, on itère sur les clés."
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "c310b73d",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"### À retenir"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "65893b5c",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"| Opération | Résultat |\n",
|
||||
"| ---------------------- | ------------------------------------------------------------ |\n",
|
||||
"| dico[k] | renvoie la valeur associée à la clé k |\n",
|
||||
"| x in dico.values() | renvoie True si une valeur de dico est égale à x, False sinon |\n",
|
||||
"| x not in dico.values() | renvoie True si aucune valeur de dico n'est égale à x, False sinon |\n",
|
||||
"| x in dico.keys() | renvoie True si une clé de dico est égale à x, False sinon |\n",
|
||||
"| dico[k] = v | Modifie la valeur v associée à la clé k ou l'ajoute si elle n'existe pas |\n",
|
||||
"| dico.get(k, v) | Renvoie la valeur associé à la clé k. Si la clé k n'existe pas, renvoie la valeur v |\n",
|
||||
"| del dico(k) | Enlève du dictionnaire la clé k |"
|
||||
]
|
||||
}
|
||||
],
|
||||
"metadata": {
|
||||
"kernelspec": {
|
||||
"display_name": "Python 3 (ipykernel)",
|
||||
"language": "python",
|
||||
"name": "python3"
|
||||
},
|
||||
"language_info": {
|
||||
"codemirror_mode": {
|
||||
"name": "ipython",
|
||||
"version": 3
|
||||
},
|
||||
"file_extension": ".py",
|
||||
"mimetype": "text/x-python",
|
||||
"name": "python",
|
||||
"nbconvert_exporter": "python",
|
||||
"pygments_lexer": "ipython3",
|
||||
"version": "3.8.8"
|
||||
}
|
||||
},
|
||||
"nbformat": 4,
|
||||
"nbformat_minor": 5
|
||||
}
|
||||
@@ -1,396 +0,0 @@
|
||||
{
|
||||
"cells": [
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "b8f17c0e",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"# # Structures imbriquées et compréhensions"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "5c98615f",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"> Il est possible de combiner listes, tuples, et dictionnaires. Avec la syntaxe des compréhensions, l'écriture des listes et dictionnaires semble plus élègante."
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "6a42e2e0",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"----"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "2cda11f3",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"## Les structures imbriquées"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "ca8a7b82",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"On peut imbriquer des listes, des tuples et des dictionnaires. Par contre, les clés de dictionnaire ne peuvent pas muter.\n",
|
||||
"\n",
|
||||
"De ce fait, nous pouvons construire des listes de listes, des listes de tuples, des listes de dictionnaires, des tuples de listes, des dictionnaires de tuples..."
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 2,
|
||||
"id": "e3846d2b",
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
"text/plain": [
|
||||
"(-1, 0)"
|
||||
]
|
||||
},
|
||||
"execution_count": 2,
|
||||
"metadata": {},
|
||||
"output_type": "execute_result"
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"lst = [(4,5), (-1, 0), (2.5, 1)]\n",
|
||||
"len (lst)\n",
|
||||
"lst[1]"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "15b98fb6",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"Ici, on crée une liste de trois tuples.\n",
|
||||
"\n",
|
||||
"Que peuvent représenter ces trois tuples ?\n",
|
||||
"\n",
|
||||
"On peut vérifier qu'il s'agut bien d'un tuple :"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 3,
|
||||
"id": "7ce7324e",
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
"text/plain": [
|
||||
"tuple"
|
||||
]
|
||||
},
|
||||
"execution_count": 3,
|
||||
"metadata": {},
|
||||
"output_type": "execute_result"
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"t = lst[1]\n",
|
||||
"type(t)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "8edf8304",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"On peut également accéder directement à l'abscisse ou à l'ordonnée d'un point :"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 4,
|
||||
"id": "056d9616",
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
"text/plain": [
|
||||
"1"
|
||||
]
|
||||
},
|
||||
"execution_count": 4,
|
||||
"metadata": {},
|
||||
"output_type": "execute_result"
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"lst[2][1]"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "3622be65",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"Ici, on accède donc à la première valeur du tuple n°2."
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "8001f10a",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"------"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "572e8c71",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"## Parcours"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "bbd95e5a",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"Soit une liste de dictionnaires"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 5,
|
||||
"id": "7ad98a69",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"persos = [{\"prenom\" : \"Bilbo\", \"nom\" : \"Baggins\", \"age\" : 111},\n",
|
||||
" {\"prenom\" : \"Frodo\", \"nom\": \"Baggins\", \"age\" : 33},\n",
|
||||
" {\"prenom\" : \"Sam\", \"nom\": \"Gamgee\", \"age\" : 21}]"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "79500e4c",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"On peut parcourir cette liste en séparant chaque dictionnaire :"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 6,
|
||||
"id": "e1f9d519",
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"name": "stdout",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"----------\n",
|
||||
"prenom : Bilbo\n",
|
||||
"nom : Baggins\n",
|
||||
"age : 111\n",
|
||||
"----------\n",
|
||||
"prenom : Frodo\n",
|
||||
"nom : Baggins\n",
|
||||
"age : 33\n",
|
||||
"----------\n",
|
||||
"prenom : Sam\n",
|
||||
"nom : Gamgee\n",
|
||||
"age : 21\n"
|
||||
]
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"for p in persos:\n",
|
||||
" print (\"----------\")\n",
|
||||
" for k, v in p.items():\n",
|
||||
" print (k, ' : ', v)"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "2e16c4c1",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"Que fait la première boucle ? La seconde ?"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "64e9f3d8",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"------"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "8c553978",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"## Les compréhensions"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "37f82c8b",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"> La notation en compréhension permet de créer une liste ou un dictionnaire sans en lister les élèments de manière explicite."
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "c051c29f",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"Par exemple, pour créer une liste comportant les entiers de 2 à 10 inclus :"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 7,
|
||||
"id": "2ff74969",
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
"text/plain": [
|
||||
"[2, 3, 4, 5, 6, 7, 8, 9, 10]"
|
||||
]
|
||||
},
|
||||
"execution_count": 7,
|
||||
"metadata": {},
|
||||
"output_type": "execute_result"
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"[i for i in range (2, 11)]"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "ba1daaa0",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"On peut aussi appliquer des fonctions à chaque élément :"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 8,
|
||||
"id": "a1f0ed4a",
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
"text/plain": [
|
||||
"[4, 9, 16, 25, 36, 49, 64, 81, 100]"
|
||||
]
|
||||
},
|
||||
"execution_count": 8,
|
||||
"metadata": {},
|
||||
"output_type": "execute_result"
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"[i ** 2 for i in range (2, 11)]"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "25813435",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"Enfin, il est possible d'appliquer des conditions dans votre déclaration de structures:"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 9,
|
||||
"id": "34096ef5",
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
"text/plain": [
|
||||
"[9, 49, 169, 289, 529, 729, 1089, 1369, 1849, 2209]"
|
||||
]
|
||||
},
|
||||
"execution_count": 9,
|
||||
"metadata": {},
|
||||
"output_type": "execute_result"
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"[i ** 2 for i in range (2, 51) if (i ** 2) % 10 == 9]"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "cf329e0d",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"Que fait cette instruction ?\n",
|
||||
"\n",
|
||||
"Pour les dictionnaires : la syntaxe est la même, il faut juste préciser la clé et la valeur de chaque élèment :"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 10,
|
||||
"id": "f974717b",
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
"text/plain": [
|
||||
"{2: 8, 3: 27, 4: 64, 5: 125, 6: 216, 7: 343, 8: 512, 9: 729, 10: 1000}"
|
||||
]
|
||||
},
|
||||
"execution_count": 10,
|
||||
"metadata": {},
|
||||
"output_type": "execute_result"
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"{k: k ** 3 for k in range (2, 11)}"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "markdown",
|
||||
"id": "ae71eaa0",
|
||||
"metadata": {},
|
||||
"source": [
|
||||
"Cela va créer un dictionnaire donc chaque clé sera un nombre entre 2 et 11 non compris, et où la valeur de chaque clé sera le cube de la clé associée.\n",
|
||||
"\n"
|
||||
]
|
||||
}
|
||||
],
|
||||
"metadata": {
|
||||
"kernelspec": {
|
||||
"display_name": "Python 3 (ipykernel)",
|
||||
"language": "python",
|
||||
"name": "python3"
|
||||
},
|
||||
"language_info": {
|
||||
"codemirror_mode": {
|
||||
"name": "ipython",
|
||||
"version": 3
|
||||
},
|
||||
"file_extension": ".py",
|
||||
"mimetype": "text/x-python",
|
||||
"name": "python",
|
||||
"nbconvert_exporter": "python",
|
||||
"pygments_lexer": "ipython3",
|
||||
"version": "3.8.8"
|
||||
}
|
||||
},
|
||||
"nbformat": 4,
|
||||
"nbformat_minor": 5
|
||||
}
|
||||
Reference in New Issue
Block a user