{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Les dictionnaires\n", "- Les dictionnaires sont des objets **mutables**.\n", "- Ce sont des ensembles de couples **clés/valeurs**.\n", "- L'accès aux valeurs se fait par les clés qui sont donc uniques." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## I) Définition" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### a) Définition simple" ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "{'x': 3, 'y': 5, 'z': [1, 3]}\n" ] } ], "source": [ "#la façon la plus rapide\n", "d=dict(x=3,y=5,z=1)\n", "print(d)" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "{'x': 3, 'y': 5, 'z': 1}\n" ] } ], "source": [ "# en rentrant les couples de clés et de valeurs.\n", "d={\"x\":3,\"y\":5,\"z\":1}\n", "print(d)" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "{}\n" ] } ], "source": [ "# un dictionnaire vide\n", "d=dict()\n", "print(d)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### b) À partir d'une liste de tuples" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "{'x': 3, 'y': 5, 'z': 1}\n" ] } ], "source": [ "L=[(\"x\",3),(\"y\",5),(\"z\",1)]\n", "d=dict(L)\n", "print(d)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## II) Accès aux éléments" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "x 3\n", "y 5\n", "z 1\n" ] } ], "source": [ "# accès aux couples clés,valeurs\n", "d=dict(x=3,y=5,z=1)\n", "for c,e in d.items():\n", " print(c,e)" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "x\n", "y\n", "z\n" ] } ], "source": [ "# accès aux clés uniquement\n", "d=dict(x=3,y=5,z=1)\n", "for c in d.keys():\n", " print(c)" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "3\n", "5\n", "1\n" ] } ], "source": [ "# accès aux valeurs uniquement\n", "d=dict(x=3,y=5,z=1)\n", "for e in d.values():\n", " print(e)" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "5\n" ] } ], "source": [ "# accès à une valeur à partir de la clé\n", "d=dict(x=3,y=5,z=1)\n", "val=d.get(\"y\")\n", "print(val)" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "None\n", "0\n" ] } ], "source": [ "# accès à une valeur à partir de la clé avec valeur par défaut si valeur absente\n", "d=dict(x=3,y=5,z=1)\n", "val=d.get(\"w\")\n", "print(val)\n", "val=d.get(\"w\",0)\n", "print(val)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## III) Modification ou ajout de valeurs" ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "{'x': 77, 'y': 5, 'z': 1}\n" ] } ], "source": [ "# La clé existant, on modifie la valeur\n", "d=dict(x=3,y=5,z=1)\n", "d[\"x\"]=77\n", "print(d)" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "{'x': 3, 'y': 5, 'z': 1, 'w': 10}\n" ] } ], "source": [ "# La clé étant absente, on ajoute une entrée\n", "d=dict(x=3,y=5,z=1)\n", "d[\"w\"]=10\n", "print(d)" ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "{'x': 77, 'y': 5, 'z': 1, 'a': 5, 'b': 8}\n" ] } ], "source": [ "# On met à jour à partir d'un autre dictionnaire\n", "d=dict(x=3,y=5,z=1)\n", "delta=dict(a=5,b=8,x=77)\n", "d.update(delta)\n", "print(d)" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "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.6.7" } }, "nbformat": 4, "nbformat_minor": 2 }