Как конвертировать ассоциативный массив в Python? - PullRequest
6 голосов
/ 02 сентября 2011

Я действительно новичок в python и не могу найти никакой информации об этом.У меня есть ассоциативный массив item,

item['id'] = 0
item['title'] = 'python'

Я хочу проверить содержимое элемента, но я не хочу использовать имя индекса, например 'title', но просто иметь цикл for и повторять все записив пункт независимо от их значения.Нечто подобное

for a in range(0, len(item)):
    print (item[a])

Есть идеи или предложения?

Ответы [ 2 ]

19 голосов
/ 02 сентября 2011

В Python ассоциативные массивы называются словарями .

Хороший способ перебрать диктовку - использовать .iteritems():

for key, value in item.iteritems():
    print key, value 

Если вам нужны только значения, используйте .itervalues():

for value in item.itervalues():
    print value 

Когда вы узнаете больше о Python и словарях, обратите внимание на разницу между .iteritems() / itervalues() (который возвращает итератор) и items() / values() (который возвращает список (массив)).

В Python 3

.iteritems()/.itervalues() были удалены и items()/values()/keys() возвращают итераторы в соответствующих последовательностях.

for key, value in item.items():
    print(key)
    print(value)
6 голосов
/ 02 сентября 2011

Существует три способа перебора словаря:

item = {...}
for key in item: # alternatively item.iterkeys(), or item.keys() in python 3
    print key, item[key]

item = {...}
for value in item.itervalues(): # or item.values() in python 3
    print value

item = {...}
for key, value in item.iteritems(): # or item.items() in python 3
    print key, value
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...