🍪 Privacy & Transparency

We and our partners use cookies to Store and/or access information on a device. We and our partners use data for Personalised ads and content, ad and content measurement, audience insights and product development. An example of data being processed may be a unique identifier stored in a cookie. Some of our partners may process your data as a part of their legitimate business interest without asking for consent. To view the purposes they believe they have legitimate interest for, or to object to this data processing use the vendor list link below. The consent submitted will only be used for data processing originating from this website. If you would like to change your settings or withdraw consent at any time, the link to do so is in our privacy policy accessible from our home page..

Vendor List | Privacy Policy
Skip to content

Technik Blog

Programmieren | Arduino | ESP32 | MicroPython | Python | Raspberry PI

Menu
  • Projekte
    • LED’s
    • Servo & Schrittmotoren
    • Sound
    • LCD’s
    • Kommunikation
    • Sicherheit
    • Weekend Project
  • Arduino
    • Tutorials
    • ProMini
      • Anschließen & Programmieren
    • Nano
      • Arduino Nano – Übersicht
    • UNO
      • Übersicht
    • MEGA 2560
      • Übersicht
    • Leonardo
      • Übersicht
    • NodeMCU
      • NodeMCU – “Einer für (fast) Alles!”
    • Lilypad
      • Arduino: Lilypad “Jetzt Geht’s Rund!”
    • WEMOS
      • WEMOS D1 – Arduino UNO kompatibles Board mit ESP8266 Chip
      • WEMOS D1 Mini – Übersicht
      • Wemos D1 mini Shields
    • STM32x
      • STM32F103C8T6 – Übersicht
    • Maker UNO
      • Maker UNO – Überblick und Test
    • ATTiny85
      • Mini Arduino mit ATTiny85 Chip
      • ATtiny85 mit dem Arduino UNO beschreiben
  • Android
  • Über mich
  • DeutschDeutsch
  • EnglishEnglish
Menu

Python #12: Arbeiten mit Dictionaries

Posted on 9. Januar 20191. Mai 2023 by Stefan Draeger

In Python kann man mit Dictionaries Schlüssel / Werte Paare erstellen und diese zu einer Liste zusammenführen.

  • Definieren eines Dictionaries
  • Zugriff auf die Elemente
  • Löschen von Elementen
  • Hinzufügen von Elementen

Definieren eines Dictionaries

Ein Dictionarie wird wie folgt definiert:

obst = {"Apfel":"gruen", "Pflaume":"lila", "Kirsche":"rot"}

Wir sehen das dieses Konstrukt ähnlich einer Liste ist, nur das wir eine geschweifte Klammer verwenden.
Zwischen dem Schlüssel (engl. Key) und dem Wert (engl. Value) befindet sich ein Doppelpunkt, jedes Schlüssel / Wertepaar ist durch ein Komma getrennt.
Als Wert kann man einen beliebigen Datentyp wählen Bsp. kann man ein Dictionary mit Personendaten erzeugen:

personen = {
    "Familie Mustermann": {
        "Vater": {"Vorname": "Max", "Nachname": "Mustermann", "Alter": 56},
        "Mutter": {"Vorname": "Erika", "Nachname": "Mustermann", "Alter": 53},
        "Kinder": [
            {"Vorname": "Franz", "Nachname": "Mustermann", "Alter": 13},
            {"Vorname": "Melanie", "Nachname": "Mustermann", "Alter": 4}   
        ]
    }
}

In diesem Beispiel habe ich nun ein Dictionarie aufgebaut und dort eine Struktur mit Personendaten zur Familie Mustermann erzeugt. Diese Struktur enthält Zeichenketten, eine Liste mit weiteren Dictoraries usw. man sieht also, man kann dieses beliebig tief verschachteln.

Zugriff auf die Elemente

Wollen wir nun auf ein Element zugreifen, so können wir dieses über den Schlüssel erledigen:

print(obst["Apfel"])

Es wird nun die Farbe ausgegeben:

gruen

Wenn jedoch das Element nicht existiert, so erhalten wir in diesem Fall einen „Error“ und das Skript / Programm wird beendet.

obst = {"Apfel":"gruen", "Pflaume":"lila", "Kirsche":"rot"}
print(obst)
print(obst["Afpel"])
{'Apfel': 'gruen', 'Pflaume': 'lila', 'Kirsche': 'rot'}
---------------------------------------------------------------------------
KeyError                                  Traceback (most recent call last)
<ipython-input-15-02ad3e90359f> in <module>()
      1 obst = {"Apfel":"gruen", "Pflaume":"lila", "Kirsche":"rot"}
      2 print(obst)
----> 3 print(obst["Afpel"])

KeyError: 'Afpel'

In diesem Beispiel habe ich mich nur bei dem Wort „Apfel“ verschrieben.

Um hier den Quellcode etwas Robuster zu schreiben, können wir mit der Funktion „get“ auf dem Dictionarie arbeiten.

obst = {"Apfel":"gruen", "Pflaume":"lila", "Kirsche":"rot"}
print(obst)
print(obst.get("Afpel"))

Hier erhalten wir nun als Rückgabewert ein:

None

Nun sollten wir als Nächstes prüfen, ob denn der Rückgabewert ungleich „None“ ist oder aber in eine Fehlerbehandlung einsteigen.

Löschen von Elementen

Möchten wir ein Element aus diese Liste löschen, so verwenden wir den Befehl „del“.

del obst["Kirsche"]
print(obst)

Die Ausgabe wäre dann wiefolgt:

{'Apfel': 'gruen', 'Pflaume': 'lila'}

Hinzufügen von Elementen

Neben dem löschen kann man auch nachträglich beliebig viele Elemente dem Dictionarie hinzufügen.
Dazu muss man „nur“ einen neuen Schlüssel definieren und diesem einen Wert zuweisen.

obst["Birne"] = "gelb"
print(obst)

Die Ausgabe ist dann:

{'Apfel': 'gruen', 'Pflaume': 'lila', 'Birne': 'gelb'}

Aber Achtung, wenn dieser Schlüssel bereits besteht wird der Wert überschrieben!

obst["Birne"] = "gelb"
print(obst)
obst["Birne"] = "orange"
print(obst)

Die Ausgabe:

{'Apfel': 'gruen', 'Pflaume': 'lila', 'Birne': 'gelb'}
{'Apfel': 'gruen', 'Pflaume': 'lila', 'Birne': 'orange'}

1 thought on “Python #12: Arbeiten mit Dictionaries”

  1. Pingback: DS18B20-Sensoren am Raspberry Pi Pico W: Temperaturdaten auf einer Webseite anzeigen - Technik Blog

Schreibe einen Kommentar Antworten abbrechen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Kategorien

Tools

  • 8×8 LED Matrix Tool
  • 8×16 LED Matrix Modul von Keyestudio
  • 16×16 LED Matrix – Generator
  • Widerstandsrechner
  • Rechner für Strom & Widerstände
  • ASCII Tabelle

Meta

  • Videothek
  • Impressum
  • Datenschutzerklärung
  • Disclaimer
  • Kontakt
  • Cookie-Richtlinie (EU)

Links

Blogverzeichnis Bloggerei.de Blogverzeichnis TopBlogs.de das Original - Blogverzeichnis | Blog Top Liste Blogverzeichnis trusted-blogs.com
©2023 Technik Blog | Built using WordPress and Responsive Blogily theme by Superb