{"id":5749,"date":"2024-08-29T04:40:38","date_gmt":"2024-08-29T04:40:38","guid":{"rendered":"https:\/\/wikiform.fr\/codespace\/structures-de-donnees-dictionnaires-en-python\/"},"modified":"2024-08-29T04:40:41","modified_gmt":"2024-08-29T04:40:41","slug":"structures-de-donnees-dictionnaires-en-python","status":"publish","type":"post","link":"https:\/\/wikiform.fr\/codespace\/structures-de-donnees-dictionnaires-en-python\/","title":{"rendered":"2.14 Structures de Donn\u00e9es : Dictionnaires en Python"},"content":{"rendered":"\n<p><strong>Les Dictionnaires en Python<\/strong> sont des structures de donn\u00e9es essentielles pour la gestion d&rsquo;applications sophistiqu\u00e9es. Comprendre comment cr\u00e9er et manipuler des <strong>dictionnaires en Python<\/strong> peut consid\u00e9rablement am\u00e9liorer l&rsquo;efficacit\u00e9 de vos programmes. D\u00e9couvrons ensemble les fonctionnalit\u00e9s de cette structure de donn\u00e9es \u00e0 travers des exemples pratiques.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Introduction aux <strong>Dictionnaires en Python<\/strong><\/h2>\n\n\n\n<div id=\"videoContainer\" style=\"position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden; max-width: 100%; background: #000;\">\n  <iframe src=\"https:\/\/player.vimeo.com\/video\/583313328?dnt=1&#038;fullscreen=0&#038;pip=0\" loading=\"lazy\" loading=\"lazy\" style=\"position: absolute; top: 0; left: 0; width: 100%; height: 100%;\" frameborder=\"0\" allow=\"autoplay\" allowfullscreen id=\"vimeoPlayer\"><\/iframe>\n  \n  <!-- Popup Desktop -->\n  <div id=\"popupContainer\" class=\"desktop-popup\" style=\"display: none; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 90%; max-width: 400px; padding: 20px; border-radius: 10px; text-align: center; box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.1); background-color: rgba(255, 255, 255, 0.95); box-sizing: border-box;\">\n    <h2 style=\"color: #333; font-size: 1.5em; margin: 10px 0;\" id=\"profitez-de-loffre-spciale-\">Profitez de l\u2019offre sp\u00e9ciale !<\/h2>\n    <p style=\"color: #e74c3c; font-size: 1.2em; margin: 10px 0;\">Obtenez notre cours pour seulement <strong id=\"price\">29.5\u20ac<\/strong> au lieu de <del>59\u20ac<\/del> !<\/p>\n    <a href=\"https:\/\/wikiform.fr\/application\/learnify\/home\/course\/devenir-un-d%C3%A9veloppeur-python\/144\" target=\"_blank\" style=\"display: block; padding: 10px 20px; background-color: #701CF5; color: #fff; text-decoration: none; border-radius: 5px; font-weight: bold; font-size: 1em; margin: 20px auto;\" rel=\"noopener\">Commencer maintenant<\/a>\n    <button onclick=\"closePopup()\" style=\"padding: 10px 20px; font-size: 1em;\">Fermer<\/button>\n  <\/div>\n\n  <!-- Popup Mobile -->\n  <div id=\"popupContainerMobile\" class=\"mobile-popup\" style=\"display: none; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 80%; max-width: 300px; padding: 15px; border-radius: 10px; text-align: center; box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.1); background-color: rgba(255, 255, 255, 0.95); box-sizing: border-box;\">\n    <p style=\"color: #e74c3c; font-size: 1em; margin: 5px 0;\">Cours sp\u00e9cial \u00e0 <strong id=\"priceMobile\">29.5\u20ac<\/strong> au lieu de <del>59\u20ac<\/del> !<\/p>\n    <a href=\"https:\/\/wikiform.fr\/application\/learnify\/home\/course\/devenir-un-d%C3%A9veloppeur-python\/144\" target=\"_blank\" style=\"display: inline-block; padding: 8px 15px; background-color: #701CF5; color: #fff; text-decoration: none; border-radius: 5px; font-weight: bold; font-size: 0.9em;\" rel=\"noopener\">Commencer maintenant<\/a>\n    <button onclick=\"closePopup()\" style=\"padding: 5px 10px; font-size: 0.9em;\">Fermer<\/button>\n  <\/div>\n<\/div>\n\n<script src=\"https:\/\/player.vimeo.com\/api\/player.js\"><\/script>\n<script>\ndocument.addEventListener('DOMContentLoaded', function() {\n    var iframe = document.getElementById('vimeoPlayer');\n    var player = new Vimeo.Player(iframe);\n    var isPopupDisplayed = false;\n\n    player.on('play', function() {\n        if (!isPopupDisplayed) {\n            player.on('timeupdate', function(data) {\n                if (data.seconds >= 120 && !isPopupDisplayed) { \/\/ 120 seconds = 2 minutes\n                    \/\/ Pause the video and display the popup\n                    player.pause().then(function() {\n                        if (window.innerWidth > 768) {\n                            document.querySelector('.desktop-popup').style.display = 'block';\n                        } else {\n                            document.querySelector('.mobile-popup').style.display = 'block';\n                        }\n                        fetchPriceAndUpdatePopup();\n                        isPopupDisplayed = true;\n                    });\n                }\n            });\n        }\n    });\n\n    function fetchPriceAndUpdatePopup() {\n        fetch('https:\/\/wikiform.fr\/application\/learnify\/home\/course\/devenir-un-d%C3%A9veloppeur-python\/144')\n            .then(response => response.text())\n            .then(html => {\n                var parser = new DOMParser();\n                var fetchedDoc = parser.parseFromString(html, 'text\/html');\n                var priceElement = fetchedDoc.querySelector('.ammount .fw-500');\n                var originalPriceElement = fetchedDoc.querySelector('.ammount del');\n                var price = priceElement ? priceElement.textContent.trim() : '29.5\u20ac';\n                var originalPrice = originalPriceElement ? originalPriceElement.textContent.trim() : '59\u20ac';\n\n                document.getElementById('price').textContent = price;\n                document.getElementById('priceMobile').textContent = price;\n                document.querySelector('.desktop-popup del').textContent = originalPrice;\n                document.querySelector('.mobile-popup del').textContent = originalPrice;\n            })\n            .catch(error => console.error('Error fetching the price:', error));\n    }\n\n    function closePopup() {\n        document.querySelector('.desktop-popup').style.display = 'none';\n        document.querySelector('.mobile-popup').style.display = 'none';\n        player.play(); \/\/ Allows resuming the video only after closing the popup\n    }\n});\n<\/script>\n\n\n\n<p>Un dictionnaire en Python est une collection non ordonn\u00e9e de paires cl\u00e9-valeur. Les cl\u00e9s doivent \u00eatre uniques et immuables, comme des cha\u00eenes de caract\u00e8res ou des nombres, tandis que les valeurs peuvent \u00eatre de n&rsquo;importe quel type de donn\u00e9es. Les dictionnaires sont tr\u00e8s utiles pour stocker des donn\u00e9es avec des associations claires, comme un annuaire t\u00e9l\u00e9phonique ou une base de donn\u00e9es simplifi\u00e9e.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Cr\u00e9er un Dictionnaire<\/h3>\n\n\n\n<p>Cr\u00e9er un dictionnaire est simple et intuitif. Voici un exemple de cr\u00e9ation d&rsquo;un dictionnaire repr\u00e9sentant un annuaire t\u00e9l\u00e9phonique :<\/p>\n\n\n\n<pre class=\"wp-block-code lang-python\"><code># Cr\u00e9er un dictionnaire\nannuaire = {\n    \"Alice\": \"555-1234\",\n    \"Bob\": \"555-5678\",\n    \"Charlie\": \"555-8765\"\n}\n\nprint(annuaire)\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Acc\u00e9der aux \u00c9l\u00e9ments d&rsquo;un Dictionnaire<\/h3>\n\n\n\n<p>Pour acc\u00e9der \u00e0 une valeur dans un dictionnaire, vous utilisez la cl\u00e9 correspondante. Voici comment faire :<\/p>\n\n\n\n<pre class=\"wp-block-code lang-python\"><code># Acc\u00e9der \u00e0 une valeur\nnumero_alice = annuaire[\"Alice\"]\nprint(f\"Le num\u00e9ro de t\u00e9l\u00e9phone d'Alice est : {numero_alice}\")\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Ajouter et Modifier des \u00c9l\u00e9ments<\/h3>\n\n\n\n<p>Ajouter ou modifier des \u00e9l\u00e9ments dans un dictionnaire est tout aussi simple. Vous pouvez directement affecter une valeur \u00e0 une cl\u00e9, et si la cl\u00e9 n&rsquo;existe pas encore, elle sera cr\u00e9\u00e9e :<\/p>\n\n\n\n<pre class=\"wp-block-code lang-python\"><code># Ajouter un nouvel \u00e9l\u00e9ment\nannuaire[\"Dave\"] = \"555-4321\"\n\n# Modifier une valeur existante\nannuaire[\"Alice\"] = \"555-0000\"\n\nprint(annuaire)\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Supprimer des \u00c9l\u00e9ments<\/h3>\n\n\n\n<p>Pour supprimer une paire cl\u00e9-valeur d&rsquo;un dictionnaire, vous pouvez utiliser la m\u00e9thode <code>del<\/code> :<\/p>\n\n\n\n<pre class=\"wp-block-code lang-python\"><code># Supprimer un \u00e9l\u00e9ment\ndel annuaire[\"Bob\"]\n\nprint(annuaire)\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Iterer sur un Dictionnaire<\/h3>\n\n\n\n<p>Il est souvent n\u00e9cessaire de parcourir un dictionnaire. Python offre plusieurs m\u00e9thodes pour it\u00e9rer sur les cl\u00e9s, les valeurs ou les paires cl\u00e9-valeur :<\/p>\n\n\n\n<pre class=\"wp-block-code lang-python\"><code># It\u00e9rer sur les cl\u00e9s\nfor name in annuaire.keys():\n    print(name)\n\n# It\u00e9rer sur les valeurs\nfor number in annuaire.values():\n    print(number)\n\n# It\u00e9rer sur les paires cl\u00e9-valeur\nfor name, number in annuaire.items():\n    print(f\"{name} : {number}\")\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Manipulations Avanc\u00e9es avec les Dictionnaires<\/h3>\n\n\n\n<p>Les dictionnaires en Python offrent de nombreuses m\u00e9thodes avanc\u00e9es pour manipuler les donn\u00e9es efficacement :<\/p>\n\n\n\n<p><strong>M\u00e9thode get()<\/strong> :<\/p>\n\n\n\n<pre class=\"wp-block-code lang-python\"><code># Utilisation de la m\u00e9thode get()\nnumero = annuaire.get(\"Charlie\", \"Non trouv\u00e9\")\nprint(f\"Le num\u00e9ro de Charlie est : {numero}\")\n<\/code><\/pre>\n\n\n\n<p><strong>M\u00e9thode pop()<\/strong> :<\/p>\n\n\n\n<pre class=\"wp-block-code lang-python\"><code># Utilisation de la m\u00e9thode pop()\nnumero_bob = annuaire.pop(\"Bob\", \"Non trouv\u00e9\")\nprint(f\"Le num\u00e9ro de Bob \u00e9tait : {numero_bob}\")\nprint(annuaire)\n<\/code><\/pre>\n\n\n\n<p><strong>M\u00e9thode update()<\/strong> :<\/p>\n\n\n\n<pre class=\"wp-block-code lang-python\"><code># Utilisation de la m\u00e9thode update()\nnouveau_contact = {\"Eve\": \"555-9090\"}\nannuaire.update(nouveau_contact)\nprint(annuaire)\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Exemples Pratiques<\/h3>\n\n\n\n<p>Voyons des exemples pratiques qui montrent comment les dictionnaires peuvent \u00eatre utilis\u00e9s dans des contextes r\u00e9els :<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Comptage de Mots dans un Texte<\/h4>\n\n\n\n<p>Un usage courant des dictionnaires est le comptage de la fr\u00e9quence des mots dans un texte :<\/p>\n\n\n\n<pre class=\"wp-block-code lang-python\"><code># Comptage des mots dans un texte\ntexte = \"Bonjour le monde. Bonjour tout le monde.\"\ncompte_mots = {}\n\nfor mot in texte.split():\n    if mot in compte_mots:\n        compte_mots[mot] += 1\n    else:\n        compte_mots[mot] = 1\n\nprint(compte_mots)\n<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">Regroupement par Cat\u00e9gorie<\/h4>\n\n\n\n<p>Les dictionnaires peuvent \u00eatre utilis\u00e9s pour regrouper des \u00e9l\u00e9ments par cat\u00e9gorie :<\/p>\n\n\n\n<pre class=\"wp-block-code lang-python\"><code># Groupement par cat\u00e9gorie\nproduits = [\n    {\"nom\": \"Pomme\", \"categorie\": \"Fruit\"},\n    {\"nom\": \"Carotte\", \"categorie\": \"L\u00e9gume\"},\n    {\"nom\": \"Banane\", \"categorie\": \"Fruit\"},\n    {\"nom\": \"C\u00e9leri\", \"categorie\": \"L\u00e9gume\"},\n]\n\ncategories = {}\nfor produit in produits:\n    categorie = produit[\"categorie\"]\n    if categorie not in categories:\n        categories[categorie] = []\n    categories[categorie].append(produit[\"nom\"])\n\nprint(categories)\n<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">Accessoires Multiples<\/h4>\n\n\n\n<p>Les dictionnaires sont extr\u00eamement utiles pour g\u00e9rer des donn\u00e9es complexes impliquant plusieurs relations :<\/p>\n\n\n\n<pre class=\"wp-block-code lang-python\"><code># G\u00e9rer des donn\u00e9es complexes\ncontacts = {\n    \"Alice\": {\"email\": \"alice@example.com\", \"tel\": \"555-1234\"},\n    \"Bob\": {\"email\": \"bob@example.com\", \"tel\": \"555-5678\"}\n}\n\n# Acc\u00e9der aux informations\nemail_alice = contacts[\"Alice\"][\"email\"]\nprint(f\"L'email d'Alice est : {email_alice}\")\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Ressources Compl\u00e9mentaires<\/h3>\n\n\n\n<p>Pour approfondir vos connaissances sur les dictionnaires en Python, r\u00e9f\u00e9rez-vous \u00e0 la <a href=\"https:\/\/docs.python.org\/3\/tutorial\/datastructures.html#dictionaries\" target=\"_blank\" rel=\"noopener\">documentation officielle de Python<\/a>. De plus, des sites comme <a href=\"https:\/\/realpython.com\/\" target=\"_blank\" rel=\"noopener\">Real Python<\/a> proposent des articles d\u00e9taill\u00e9s et des tutoriels interactifs pour vous aider \u00e0 ma\u00eetriser cette puissante structure de donn\u00e9es.<\/p>\n\n\n\n<p>Au fur et \u00e0 mesure que vous avancez dans votre apprentissage de Python, il est aussi judicieux d&rsquo;approfondir vos connaissances sur d&rsquo;autres structures de donn\u00e9es comme les <a href=\"https:\/\/wikiform.fr\/codespace\/structures-de-donnees-listes-en-python\">listes<\/a>, <a href=\"https:\/\/wikiform.fr\/codespace\/utiliser-les-tuples-en-python-guide\">tuples<\/a> et bien s\u00fbr les <a href=\"https:\/\/wikiform.fr\/codespace\/structures-de-donnees-dictionnaires-en-python\">dictionnaires<\/a>. Ils sont tous abord\u00e9s dans des sections sp\u00e9cifiques de notre site.<\/p>\n\n\n\n<p>S&rsquo;assurer de la gestion correcte des entr\u00e9es utilisateur est un autre aspect crucial, couvert dans notre article sur la <a href=\"https:\/\/wikiform.fr\/codespace\/saisie-utilisateur-en-python-guide-complet\">saisie utilisateur en Python<\/a>. D\u00e9couvrez \u00e9galement comment <a href=\"https:\/\/wikiform.fr\/codespace\/enregistrer-des-donnees-dans-un-fichier-python\">enregistrer des donn\u00e9es dans un fichier<\/a> ou g\u00e9rer les <a href=\"https:\/\/wikiform.fr\/codespace\/gerer-erreurs-et-exceptions-en-python\">erreurs et exceptions en Python<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Conclusion<\/h2>\n\n\n\n<p>Les <strong>Dictionnaires en Python<\/strong> sont une structure de donn\u00e9es versatile et performante, id\u00e9ale pour g\u00e9rer des collections d&rsquo;\u00e9l\u00e9ments avec des associations cl\u00e9-valeur claires. En ma\u00eetrisant les diff\u00e9rentes m\u00e9thodes et techniques pour manipuler les dictionnaires, vous am\u00e9liorerez non seulement la fiabilit\u00e9 de votre code, mais aussi son efficacit\u00e9. Continuez \u00e0 explorer Python pour d\u00e9couvrir d&rsquo;autres structures de donn\u00e9es et leurs applications pratiques. Pour plus de tutoriels sur Python, consultez notre article sur <a href=\"https:\/\/wikiform.fr\/application\/learnify\/home\/course\/devenir-un-d%C3%A9veloppeur-python\/144\">Devenir un D\u00e9veloppeur Python<\/a> ou lisez d&rsquo;autres tutoriels d\u00e9taill\u00e9s sur notre site.<\/p>\n\n\n\n<a href=\"https:\/\/wikiform.fr\/application\/learnify\/home\/course\/devenir-un-d%C3%A9veloppeur-python\/144\" target=\"_blank\" rel=\"noopener\"><img decoding=\"async\" src=\"https:\/\/wikiform.fr\/codespace\/wp-content\/uploads\/2024\/07\/learnify-formation-PYTHON-offre-50.gif\" loading=\"lazy\" alt=\"Learnify Formation Python Offre 50%\" title=\"\"><\/a>\n\n\n<script src=\"https:\/\/player.vimeo.com\/api\/player.js\"><\/script>\n<script>\ndocument.addEventListener('DOMContentLoaded', function() {\n    var iframe = document.getElementById('vimeoPlayer');\n    var player = new Vimeo.Player(iframe);\n    var isPopupDisplayed = false;\n\n    player.on('play","protected":false},"excerpt":{"rendered":"<p>Les Dictionnaires en Python sont des structures de donn\u00e9es essentielles pour la gestion d&rsquo;applications sophistiqu\u00e9es. Comprendre comment cr\u00e9er et manipuler des dictionnaires en Python peut&#8230;<\/p>\n","protected":false},"author":4,"featured_media":2957,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[24],"tags":[18],"class_list":["post-5749","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-python","tag-tutoriels"],"acf":[],"_titre_de_la_formation":null,"_description_":null,"_objectifs_pedagogiques":null,"_programme_":null,"_url_de_limage":null,"_materiel_necessaire":null,"_modalites_devaluation_des_acquis":null,"_moyens_pedagogiques_et_techniques":null,"_accessibilite_":null,"_formateur_":null,"menu_order":0,"_links":{"self":[{"href":"https:\/\/wikiform.fr\/codespace\/wp-json\/wp\/v2\/posts\/5749","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wikiform.fr\/codespace\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wikiform.fr\/codespace\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wikiform.fr\/codespace\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/wikiform.fr\/codespace\/wp-json\/wp\/v2\/comments?post=5749"}],"version-history":[{"count":1,"href":"https:\/\/wikiform.fr\/codespace\/wp-json\/wp\/v2\/posts\/5749\/revisions"}],"predecessor-version":[{"id":5750,"href":"https:\/\/wikiform.fr\/codespace\/wp-json\/wp\/v2\/posts\/5749\/revisions\/5750"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wikiform.fr\/codespace\/wp-json\/wp\/v2\/media\/2957"}],"wp:attachment":[{"href":"https:\/\/wikiform.fr\/codespace\/wp-json\/wp\/v2\/media?parent=5749"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wikiform.fr\/codespace\/wp-json\/wp\/v2\/categories?post=5749"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wikiform.fr\/codespace\/wp-json\/wp\/v2\/tags?post=5749"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}