Dictionary verändern

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Lena
User
Beiträge: 22
Registriert: Mittwoch 24. Juni 2015, 09:37

Hallo!
Ich habe ein Dictionary erstellt, bei der jedem Key mehrere Values zugeordnet sind. Nun habe ich eine Funktion dazu, in der der User dem Dictionary Values zuordnen kann.
Kann man dem Dictionary auch noch Keys zuordnen? Wenn ja wie? Also mit den values habe ich das einfach mit .append() gemacht...

Und noch eine zweite Frage^^...wenn ich möchte, dass diese Werte die vom User verändert werden auch beim nächsten Mal, wenn das Programm gestartet wird noch gespeichert sind, geht dass dann nur, wenn ich das Dictionary in einer Textdatei speichern lasse?

LG und ich freue mich schon Auf ANtworten :)
Benutzeravatar
Kebap
User
Beiträge: 687
Registriert: Dienstag 15. November 2011, 14:20
Wohnort: Dortmund

Hier ist der Vorgängerthread, in dem man besagte Dicts und Lists bewundern kann: http://www.python-forum.de/viewtopic.php?f=1&t=36544

Wie man neue Werte in ein Dictionary einfügt ist sehr sehr einfach und noch einfacher als der Weg den du bei Listen benutzt. Hast du schon mal in deine Python Anleitung geschaut, was dort dazu geschrieben steht?
MorgenGrauen: 1 Welt, 8 Rassen, 13 Gilden, >250 Abenteuer, >5000 Waffen & Rüstungen,
>7000 NPC, >16000 Räume, >200 freiwillige Programmierer, nur Text, viel Spaß, seit 1992.
BlackJack

@Lena: Mit welchem Tutorial arbeitest Du denn wenn da nicht mal gezeigt wird wie man einem Wörterbuch ein neues Schlüssel/Wert-Paar hinzufügt? In der Python-Dokumentation gibt es ein Tutorial und Anfängern wird oft Learn Python The Hard Way empfohlen (nicht vom Titel irritieren lassen :-)).

Wenn die Daten persistent sein sollen musst Du sie in der Tat speichern. Das JSON-Format könnte sich da beispielsweise anbieten. Dafür gibt es in der Standardbibliothek ein Modul.
Benutzeravatar
bwbg
User
Beiträge: 407
Registriert: Mittwoch 23. Januar 2008, 13:35

Neben den genannten Hinweisen möchte ich Dir den interaktiven Interpreter ans Herz legen (einfach python in der Eingabeaufforderung/Terminal starten). Hier kann man Befehle direkt ausprobieren oder (Standard-)Funktionen testen. Viele Fragen lassen sich bereit durch ein bisschen Ausprobieren beantworten.

Verwende dort die Funktionen dir und help. Mit ersterem kannst Du Dir eine Übersicht, über die verfügbaren Attribute (u. a. Methoden) eines Objektes abrufen. Der zweite gibt eine Hilfe zu einem Objekt oder im Speziellen zu einem Attribut aus.

Beispiel: Wörterbuch

Code: Alles auswählen

>>> dir({})
['__class__', '__contains__', '__delattr__', '__delitem__', '__doc__', '__eq__',
 '__format__', '__ge__', '__getattribute__', '__getitem__', '__gt__', '__hash__'
, '__init__', '__iter__', '__le__', '__len__', '__lt__', '__ne__', '__new__', '_
_reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__setitem__', '__sizeof
__', '__str__', '__subclasshook__', 'clear', 'copy', 'fromkeys', 'get', 'items',
 'keys', 'pop', 'popitem', 'setdefault', 'update', 'values']
Beispiel: Liste

Code: Alles auswählen

>>> dir([])
['__add__', '__class__', '__contains__', '__delattr__', '__delitem__', '__doc__'
, '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__gt__',
 '__hash__', '__iadd__', '__imul__', '__init__', '__iter__', '__le__', '__len__'
, '__lt__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__re
pr__', '__reversed__', '__rmul__', '__setattr__', '__setitem__', '__sizeof__', '
__str__', '__subclasshook__', 'append', 'count', 'extend', 'index', 'insert', 'p
op', 'remove', 'reverse', 'sort']
Zum Abschluss ein Beispiel für help:

Code: Alles auswählen

>>> import math
>>> help(math.sin)
Help on built-in function sin in module math:

sin(...)
    sin(x)

    Return the sine of x (measured in radians).
"Du bist der Messias! Und ich muss es wissen, denn ich bin schon einigen gefolgt!"
Antworten