2010-05-06 4 views
5

Eine Möglichkeit, ein Wörterbuch manuell zu einer Datenbank beizubehalten, besteht darin, es in eine Sequenz von Sequenzen zu reduzieren und die Sequenz als ein Argument an cursor.executemany() zu übergeben.Konvertieren Sie eine Sequenz von Sequenzen in ein Wörterbuch und umgekehrt

Das Gegenteil ist auch nützlich, d. H. Das Lesen von Zeilen aus einer Datenbank und das Umwandeln in Wörterbücher für die spätere Verwendung.

Wie kann ich am besten von myseq zu mydict und von mydict zu myseq wechseln?

>>> myseq = ((0,1,2,3), (4,5,6,7), (8,9,10,11)) 

>>> mydict = {0: (1, 2, 3), 8: (9, 10, 11), 4: (5, 6, 7)} 

Antwort

5
mydict = dict((s[0], s[1:]) for s in myseq) 

myseq = tuple(sorted((k,) + v for k, v in mydict.iteritems())) 
+0

Danke! Ich brauche die Liste eigentlich nicht sortiert. – Louis

2
>>> mydict = dict((t[0], t[1:]) for t in myseq)) 

>>> myseq = tuple(((key,) + values) for (key, values) in mydict.items()) 

Die Bestellung von Tupeln in myseq nicht erhalten, da Wörterbücher ungeordnet sind.

Verwandte Themen