Нет, нет as
for
положения в отчетности.
Но это довольно легко сделать это явно:
for d in dict_lst:
dict_elem = d['a']
print dict_elem
Или, более просто:
for d in dict_list:
print d['a']
Или, если вы хотите получить фантазии:
for dict_elem in (d['a'] for d in dict_lst):
print dict_elem
Или, только для развлечения:
for dict_elem in map(operator.itemgetter('a'), dict_lst):
print dict_elem
Что можно завернуть в качестве многоразовой функции:
def itemmap(dicts, key):
for item in dicts:
yield item[key]
for dict_elem in itemmap(dict_lst, 'a'):
print dict_elem
В качестве примечания, вы на самом деле можно сделать for d['a'] in dict_list:
, но это просто перераспределяет d['a']
(при условии d
уже словаря) к каждому новому словарь в списке, что обычно является чем-то непонятным. (Это может быть полезно для запутанного кода конкурсов ...)
Ах прохладно. Я откладывал изучение генераторов на некоторое время - думаю, пришло время узнать о них! – vincent
@ vincent: Это одна из лучших частей официального учебника (см. [List Consrehensions] (https://docs.python.org/2/tutorial/datastructures.html#list-comprehensions), если вы не узнайте их, затем запустите на [Итераторы] (https://docs.python.org/2/tutorial/classes.html#iterators) и прочитайте оставшуюся часть этой главы. Затем, как только у вас есть основы, см. [ Презентация Дэвида Бэйсли] (http://www.dabeaz.com/generators-uk/). – abarnert