2016-04-19 5 views
0

habe ich den folgenden Code:Python: Reihenfolge der Elemente ist falsch für dict

tweet = {"user" : "joelgrus", "text" : "Data Science is Awesome", "retweet_count" : 100} 

print "tweet:", tweet 

Der Ausgang nach Ausführung des Skripts ist:

tweet: {'text': 'Data Science is Awesome', 'retweet_count': 100, 'user': 'joelgrus'} 

Warum die Reihenfolge der Elemente ist (scheinbar) falsch? Ich dachte, die Ausgabe sollte nur sein:

tweet: {'user': 'joelgrus', 'text': 'Data Science is Awesome', 'retweet_count': 100} 
+3

Wörterbücher sind von Natur aus ungeordneten – jDo

+1

Siehe auch [hier] (http://stackoverflow.com/questions/15479928/why-is-the-order-in-python-dictionaries-and-sets-arbitrary). – TigerhawkT3

+3

Ich empfehle, den geplanten Fragentitel vor dem Posten zu googeln, da dies manchmal eine sofortige Antwort auf Ihre Frage sein kann. – TigerhawkT3

Antwort

4

Wörterbücher nicht halten ihre Listen in der Reihenfolge: https://docs.python.org/2/library/stdtypes.html#typesmapping

Theres eine Notiz auf der Seite, die erklärt:

CPython Implementierung Detail: Tasten und Werte sind in einer willkürlichen Reihenfolge aufgelistet, die nicht zufällig ist, variiert über Python Implementierungen und hängt von der Geschichte des Wörterbuchs von Einfügungen und Löschungen ab.

+0

Danke! Ich werde diese Antwort annehmen, sobald ich in 12 Minuten darf – Hunter

Verwandte Themen