it-swarm.com.de

Python Array mit String-Indizes

Ist es möglich, Strings als Indizes in einem Array in Python zu verwenden?

Beispielsweise:

myArray = []
myArray["john"] = "johns value"
myArray["jeff"] = "jeffs value"
print myArray["john"]
59
Petey B

Was Sie wollen, heißt assoziatives Array . In python heißen diese Wörterbücher .

Wörterbücher werden manchmal in anderen Sprachen als „assoziative Erinnerungen“ oder „assoziative Arrays“ bezeichnet. Im Gegensatz zu Sequenzen, die durch einen Bereich von Zahlen indiziert sind, werden Wörterbücher durch Schlüssel indiziert, die von einem beliebigen unveränderlichen Typ sein können . Zeichenfolgen und Zahlen können immer Schlüssel sein.

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"

Erhalten der Schlüssel (in Python v2):

print myDict.keys() # => ["john", "jeff"]

Wenn Sie mehr über python Wörterbuchinterna erfahren möchten, empfehle ich diese ~ 25-minütige Videopräsentation: https://www.youtube.com/watch?v=C4Kc8xzcA68 Es heißt "The Mighty Dictionary".

131
miku

Versuchen Sie es noch besser mit einem OrderedDict (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 dafür installierbare Module.

4
gaefan