404 Stimmen

Wie kann man Schlüssel/Werte in der gleichen Reihenfolge wie angegeben halten?

Ich habe ein Wörterbuch, das ich in einer bestimmten Reihenfolge deklariert habe, und möchte es immer in dieser Reihenfolge halten. Die Schlüssel/Werte können nicht wirklich in der Reihenfolge auf der Grundlage ihres Wertes gehalten werden, ich möchte nur, dass es in der Reihenfolge, die ich es deklariert.

Wenn ich also das Wörterbuch habe:

d = {'ac': 33, 'gw': 20, 'ap': 102, 'za': 321, 'bs': 10}

Es ist nicht in dieser Reihenfolge, wenn ich es anzeigen oder iterieren durch es, gibt es eine Möglichkeit, um sicherzustellen, dass Python die explizite Reihenfolge, die ich die Schlüssel/Werte in deklariert hält?

1voto

Rasmus Kaj Punkte 3887

Im Allgemeinen können Sie eine Klasse entwerfen, die sich wie ein Wörterbuch verhält, indem Sie hauptsächlich die Methoden __contains__ , __getitem__ , __delitem__ , __setitem__ und einige mehr. Diese Klasse kann jedes beliebige Verhalten haben, zum Beispiel einen sortierten Iterator über die Schlüssel ...

1voto

pelos Punkte 1526

Wenn Sie ein Wörterbuch in einer bestimmten Reihenfolge haben möchten, können Sie auch eine Liste von Listen erstellen, wobei das erste Element der Schlüssel und das zweite Element der Wert ist und wie folgt aussehen wird Beispiel

>>> list =[[1,2],[2,3]]
>>> for i in list:
...     print i[0]
...     print i[1]

1
2
2
3

0voto

Sie können dasselbe tun, was ich für das Wörterbuch getan habe.

Erstellen Sie eine Liste und ein leeres Wörterbuch:

dictionary_items = {}
fields = [['Name', 'Himanshu Kanojiya'], ['email id', 'hima@gmail.com']]
l = fields[0][0]
m = fields[0][1]
n = fields[1][0]
q = fields[1][1]
dictionary_items[l] = m
dictionary_items[n] = q
print dictionary_items

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X