Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
de:modul:m319:learningunits:lu11:dictionary [2025/06/23 07:45] – gelöscht - Externe Bearbeitung (Unbekanntes Datum) 127.0.0.1de:modul:m319:learningunits:lu11:dictionary [2025/06/23 07:45] (aktuell) – ↷ Links angepasst, weil Seiten im Wiki verschoben wurden msuter
Zeile 1: Zeile 1:
 +====== LU11a - Dictionary ======
 +<WRAP center round info 60%>
 +Ein Dictionary ist eine Datenstruktur in Python.
 +Die Einträge im Dictionary bestehen aus einem Schlüssel (Key) und einem Wert (Value).
 +</WRAP>
  
 +===== Einleitung =====
 +
 +Dictionaries in Python sind ähnliche Datenstrukturen wie [[de:modul:m319:learningunits:lu06:listen|Listen]].
 +Der wichtigste Unterschied ist die Art, wie die Elemente in einer Liste bzw. einem Dictionary identifiziert wird.
 +  * Bei einer Liste werden die einzelnen Elemente über eine fortlaufende Nummer (Index, Position) identifiziert.
 +  * Im Dictionary werden die Elemente über einen von uns definierten Schlüssel identifiziert.
 +
 +==== Listen ====
 +Listen sind am besten geeignet, wenn wir viele gleiche Informationen wie z.B. Obstsorten speichern wollen.
 +^ Index ^ Wert ^
 +| 0 | Kiwi |
 +| 1 | Papaya |
 +| 2 | Birne |
 +
 +==== Dictionary ====
 +Ein Dictionary kann verschiedene Informationen zu einem Objekt speichern.
 +Zum Beispiel können alle Informationen zu einer Person als Dictionary zusammengefasst werden. 
 +
 +^ Schlüssel ^ Wert ^
 +| 'name' | 'Peter' |
 +| 'age' | 32 |
 +| 'eyecolor' | 'brown' |
 +
 +===== Schlüssel : Wert (engl. key:value) =====
 +
 +==== Schlüssel ====
 +Der Schlüssel in einem Dictionary kann ein String oder eine Zahl sein, wobei Strings häufiger verwendet werden. 
 +Der Schlüssel muss eindeutig sein, es können als nicht zwei oder mehr Elemente den gleichen Schlüssel haben.
 +
 +==== Wert ====
 +Die Werte in einem Dictionary können fast beliebige Datentypen sein.
 +Wir können Zeichenketten, Zahlen, Objekte und sogar Listen und Dictionaries als Werte speichern.
 +
 +==== Beispiel für einen Dictionary ====
 +<code python>
 +animal = {
 +  'species': 'Lion',
 +  'name': 'Leon',
 +  'age': 12
 +}
 +</code>
 +
 +^ Schlüssel ^ Wert ^
 +| species | Lion |
 +| name | Leon |
 +| age | 12 |
 +
 +===== Dictionary anlegen =====
 +Wir definieren einen Dictionary indem wir die geschweiften Klammern **''{'' ''}''** verwenden.
 +Jedes Element wird mit ''Schlüssel''**'':''** ''Wert'' definiert.
 +
 +Um die Übersicht zu vereinfachen, **können** wir jedes Schlüssel/Wert-Element auf eine eigene Zeile schreiben.
 +<code python>
 +
 +colors = {
 +          'red': '#ff0000', 
 +          'green': '#00ff00', 
 +          'blue': '#0000ff'
 +         }
 +print(colors)
 +</code>
 +
 +== Output ==
 +<code>
 +{'red': '#ff0000', 'green': '#00ff00', 'blue': '#0000ff'}
 +</code>
 +
 +Wenn der Schlüssel ein einzelnes Wort ist, können wir den Befehl **dict** verwenden.
 +
 +<code python>
 +colors = dict(
 +          red='#ff0000', 
 +          green='#00ff00', 
 +          blue='#0000ff'
 +         )
 +print(colors)
 +</code>
 +
 +== Output ==
 +<code>
 +{'red': '#ff0000', 'green': '#00ff00', 'blue': '#0000ff'}
 +</code>
 +
 +===== I want it all ... =====
 +Möchten Sie in einem Programm **alle** Informationen zu **vielen** Objekten speichern?
 +Also vielleicht eine Mitgliederliste eines Vereins.
 +Dann kombinieren Sie Listen und Dictionary; Sie erstellen eine Liste von Dictionaries.
 +
 +^ Index ^ Wert ^
 +| 0 | {'name': 'Peter', 'age': 32, 'eyecolor': 'brown'} |
 +| 1 | {'name': 'Anna', 'age': 27, 'eyecolor': 'green'} |
 +
 +<code python>
 +# Dictionaries erstellen 
 +member0 = {'name': 'Peter', 'age': 32, 'eyecolor': 'brown'}
 +member1 = {'name': 'Anna', 'age': 27, 'eyecolor': 'green'}
 +
 +# Dictionaries in eine Liste einfügen 
 +member_list = [member0, member1]
 +
 +# ODER:
 +# Direkt eine Liste von Dictionaries erstellen
 +member_list = [
 +    {'name': 'Peter', 'age': 32, 'eyecolor': 'brown'},
 +    {'name': 'Anna', 'age': 27, 'eyecolor': 'green'}
 +]
 +</code>
 +
 +----
 +{{tag>M319-C1G M319-C1F M319-C1E}}
 +
 +[[https://creativecommons.org/licenses/by-nc-sa/4.0/|{{https://i.creativecommons.org/l/by-nc-sa/4.0/88x31.png}}]] Marcel Suter