Dictionary

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.
Bloos
User
Beiträge: 9
Registriert: Montag 11. Januar 2010, 13:16

bin auf diese seite gestoßen, die mir sehr weiter geholfen hat
http://www.python-forum.de/viewtopic.ph ... 1b1c5dd87d

habe mich für die Shelve Methode endschieden

Code: Alles auswählen

#Selve Test / 14.01.2010

import shelve

# Speichern

st = shelve.open("selvetest_1.slv")                 # Oeffnet die Shelve Datei 
st["day"] = [("d1","e1"),("d2","e2"),("d3","e3")]
st["week"] = [("d4","e4"),("d5","e5"),("d6","e6")]
st.close()                                          # Schliesst die Shelve Datei 

# Laden

st = shelve.open("selvetest_1.slv")
print st["day"][2][0], " = ", st["day"][2][1]
print st["week"]
st.close()
d3 = e3
[('d4', 'e4'), ('d5', 'e5'), ('d6', 'e6')]


ich verstehe nicht ganz, wofür die [] nach der Listennamen sind. In die ich "week" und "day" geschrieben habe, denn ohne diese funktiert die shelve methode nicht. Ich nehme an das es veschiedene listen sind, st["day"] und st["week"].

Es kommt mir zwar sehr gelegen, da ich die vokabeln in verschiedene stufen abspeichern will, die ich in verschiedenen abständen wiederholen werde (täglich,wöchentlich usw). Wenn das Programm merkt das ich sie kann, werden sie in die nächste stufe aufsteigen.

Sehe ich das richtig und sollte ich da noch etwas beachten?
Benutzeravatar
snafu
User
Beiträge: 6738
Registriert: Donnerstag 21. Februar 2008, 17:31
Wohnort: Gelsenkirchen

Bloos hat geschrieben:ich verstehe nicht ganz, wofür die [] nach der Listennamen sind.
Die eckigen Klammern stehen in Python halt für eine Liste. Du bindest eine Liste an die Schlüsselwörter vom shelve-Dictionary und bekommst entsprechend eine Liste zurück. Was hattest du in dem Moment denn erwartet?
Bloos
User
Beiträge: 9
Registriert: Montag 11. Januar 2010, 13:16

habe mich gewundert da man normaler weise listen ohne die deklariert bzw ihnen den wert zuweisst

Code: Alles auswählen

bsliste = [x,y]
aber jetzt ist alles klar

danke
Benutzeravatar
snafu
User
Beiträge: 6738
Registriert: Donnerstag 21. Februar 2008, 17:31
Wohnort: Gelsenkirchen

Achso, meintest du `st['day']`? Das ist noch nicht die Liste, sondern erstmal der Zugriff auf das Schlüsselwort:

Code: Alles auswählen

In [58]: d = {}

In [59]: d
Out[59]: {}

In [60]: d['day'] = [1,2,3]

In [61]: d
Out[61]: {'day': [1, 2, 3]}
Das shelve-Objekt ist eben ein Dictionary mit erweiterter Funktionalität.
Zuletzt geändert von snafu am Freitag 15. Januar 2010, 07:50, insgesamt 1-mal geändert.
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Bloos hat geschrieben:habe mich gewundert da man normaler weise listen ohne die deklariert bzw ihnen den wert zuweisst

Code: Alles auswählen

bsliste = [x,y]
Na genau das gleiche wird in dem Code auch gemacht. Nur dass die Werte eben nicht x und y sind sondern Tupel-Literale.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Bloos
User
Beiträge: 9
Registriert: Montag 11. Januar 2010, 13:16

hallo miteinander,

bin nun mit meinem prototypen fertig. Doch meine ganzen menys werden durch eingabe und bestätigung gesteuert (raw_input()). Würde gerne es durch Hotkeys ersetzen, habe leider nichts gefunden was mich weiter gebracht hat. Könnte jemand mir einen kleinen skript schreiben zur verwendung von hotkeys auf dem einfachsten niveau
zb:

taste-k:
print "Hallo"

ein link zur erklärendem artikel würde auch ausreichen :)
alpha
User
Beiträge: 195
Registriert: Freitag 23. Mai 2003, 23:24
Wohnort: Ulm

Bloos
User
Beiträge: 9
Registriert: Montag 11. Januar 2010, 13:16

bin schon auf dieses thread gestossen, und denke das es da um globale hotkeys geht. oder teusche ich mich da etwa?

ich habe eine viel einfachere / simple lösung erwartet als die da becshrieben wird
Antworten