Ist es möglich, Strings als Indizes in einem Array in Python zu verwenden?
Zum Beispiel:
myArray = []
myArray["john"] = "johns value"
myArray["jeff"] = "jeffs value"
print myArray["john"]
python
arrays
list
dictionary
Petey B.
quelle
quelle
Antworten:
Was Sie wollen, wird als assoziatives Array bezeichnet . In Python werden diese Wörterbücher genannt .
myDict = {} myDict["john"] = "johns value" myDict["jeff"] = "jeffs value"
Alternative Möglichkeit, das obige Diktat zu erstellen:
myDict = {"john": "johns value", "jeff": "jeffs value"}
Zugriff auf Werte:
print(myDict["jeff"]) # => "jeffs value"
Abrufen der Schlüssel (in Python v2):
print(myDict.keys()) # => ["john", "jeff"]
In Python 3 erhalten Sie
dict_keys
eine Ansicht, die etwas effizienter ist ( Details finden Sie in den Ansichtsdokumenten und in PEP 3106 ).print(myDict.keys()) # => dict_keys(['john', 'jeff'])
Wenn Sie mehr über Python-Wörterbuch-Interna erfahren möchten, empfehle ich diese ca. 25-minütige Videopräsentation: https://www.youtube.com/watch?v=C4Kc8xzcA68 . Es heißt "The Mighty Dictionary".
quelle
hash
Funktion zurückgegebene Wert nicht ändern sollte, solange das Objekt als verwendet wird Wörterbuchschlüssel. Wenn dies der Fall ist, sollten Sie darauf vorbereitet sein, dass Ihr Programm abstürzt oder sich auf bizarre Weise schlecht verhält.Versuchen Sie noch besser ein OrderedDict Sie es (vorausgesetzt, Sie möchten so etwas wie eine Liste). Näher an einer Liste als an einem normalen Diktat, da die Schlüssel eine Reihenfolge haben, genau wie Listenelemente eine Reihenfolge haben. Bei einem regulären Diktat haben die Schlüssel eine beliebige Reihenfolge.
Beachten Sie, dass dies in Python 3 und 2.7 verfügbar ist. Wenn Sie eine frühere Version von Python verwenden möchten, finden Sie hierfür installierbare Module.
quelle