web-dev-qa-db-fra.com

Python Tableau contenant des indices de chaîne

Est-il possible d'utiliser des chaînes en tant qu'indices dans un tableau en python?

Par exemple:

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

Ce que vous voulez s'appelle un tableau associatif . Dans python, on les appelle dictionnaires .

Les dictionnaires sont parfois trouvés dans d'autres langues sous le nom de "mémoires associatives" ou de "tableaux associatifs". Contrairement aux séquences, qui sont indexées par une plage de nombres, les dictionnaires sont indexés par des clés, qui peuvent être n’importe quel type immuable ; les chaînes et les nombres peuvent toujours être des clés.

myDict = {}
myDict["john"] = "johns value"
myDict["jeff"] = "jeffs value"

Une autre façon de créer le dict ci-dessus:

myDict = {"john": "johns value", "jeff": "jeffs value"}

Accéder aux valeurs:

print myDict["jeff"] # => "jeffs value"

Obtenir les clés (in Python v2):

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

Si vous souhaitez en savoir plus sur python, je recommande cette présentation vidéo de 25 minutes environ: https://www.youtube.com/watch?v=C4Kc8xzcA68 C'est ce qu'on appelle le "Dictionnaire puissant".

131
miku

Encore mieux, essayez un OrderedDict (en supposant que vous vouliez quelque chose comme une liste). Plus proche d'une liste qu'un dict ordinaire puisque les touches ont un ordre, tout comme les éléments d'une liste ont un ordre. Avec un dict régulier, les touches ont un ordre arbitraire.

Notez que ceci est disponible dans Python 3 et 2.7. Si vous souhaitez utiliser une version antérieure de Python, vous pouvez trouver des modules installables pour le faire.

4
gaefan