Dans PHP je peux nommer mes indices de tableau afin que je puisse avoir quelque chose comme:
$shows = Array(0 => Array('id' => 1, 'name' => 'Sesame Street'),
1 => Array('id' => 2, 'name' => 'Dora The Explorer'));
Est-ce possible en Python?
Cela ressemble au tableau PHP utilisant des indices nommés est très similaire à un dict python:
shows = [
{"id": 1, "name": "Sesaeme Street"},
{"id": 2, "name": "Dora The Explorer"},
]
Voir http://docs.python.org/tutorial/datastructures.html#dictionaries pour plus d'informations à ce sujet.
Les tableaux PHP sont en fait des cartes, ce qui équivaut à des dicts en Python.
Ainsi, c'est l'équivalent Python:
showlist = [{'id':1, 'name':'Sesaeme Street'}, {'id':2, 'name':'Dora the Explorer'}]
Exemple de tri:
from operator import attrgetter
showlist.sort(key=attrgetter('id'))
MAIS! Avec l'exemple que vous avez fourni, une infrastructure de données plus simple serait préférable:
shows = {1: 'Sesaeme Street', 2:'Dora the Explorer'}
@Unkwntech,
Ce que vous voulez est disponible dans la version Python 2.6 sous la forme nommée tuples . Ils vous permettent de faire ceci:
import collections
person = collections.namedtuple('Person', 'id name age')
me = person(id=1, age=1e15, name='Dan')
you = person(2, 'Somebody', 31.4159)
assert me.age == me[2] # can access fields by either name or position
Pour aider Google à l'avenir, ceux-ci sont généralement appelés tableaux associatifs en PHP et dictionnaires en Python.
Oui,
a = {"id": 1, "name":"Sesame Street"}
La bibliothèque pandas
a une solution vraiment intéressante: Series
.
book = pandas.Series( ['Introduction to python', 'Someone', 359, 10],
index=['Title', 'Author', 'Number of pages', 'Price'])
print book['Author']
Pour plus d'informations, consultez sa documentation: http://pandas.pydata.org/pandas-docs/stable/generated/pandas.Series.html .
Vous devriez lire le tutoriel python et esp. la section sur datastructures qui couvre également dictionnaires.
Pas exactement la même syntaxe, mais il existe un certain nombre d'extensions de dictionnaire qui respectent l'ordre dans lequel les paires clé/valeur ont été ajoutées. Par exemple. seqdict .
Python a des listes et des dict en tant que 2 structures de données distinctes. PHP mélange les deux en un. Vous devez utiliser des dict dans ce cas.