2016-03-03 6 views
-4

У меня есть список словаря [{'abc':10,'efg':20,'def':30},{'abc':40,'xya':20,'def':50}], и я хотел бы создать массив abc[] и сохранить соответствующее значение в том, что array.so вывод должен выглядетьIterate словарь и хранить значение в массиве

abc[10,40] 
def[30,50] 
efg[20] 

и так on, используя python.

+0

Итак, вы хотите, чтобы имя результирующих массивов было ключом dict. Верный? – zaxliu

+5

Что вы пробовали до сих пор и в какой проблеме вы столкнулись при попытке реализовать свое решение? –

+0

Добро пожаловать в StackOverflow. Прочтите и следуйте инструкциям по отправке в справочной документации. [Минимальный, полный, проверяемый пример] (http://stackoverflow.com/help/mcve) применим здесь. Мы не можем эффективно помочь вам, пока вы не опубликуете свой код и не сможете точно описать проблему. StackOverflow не является кодовым или учебным сервисом. – Prune

ответ

0

Любое точное решение, вероятно, будет включать Exec() или что-то чужак и большинство программистов Python, вероятно, рекомендуем вам вместо изменить список словарей в словарь списков:

from collections import defaultdict 

list_of_dictionaries = [ 
    {'abc':10,'efg':20,'def':30}, 
    {'abc':40,'xya':20,'def':50}, 
] 

dictionary_of_lists = defaultdict(list) 

# there's probably some clever one liner to do this but let's keep 
# it simple and clear what's going when we make the transfer: 

for dictionary in list_of_dictionaries: 
    for key, value in dictionary.items(): 
     dictionary_of_lists[key].append(value) 

# We've achieved the goal, now just dump dictionary_of_lists to prove it: 

for key, value in dictionary_of_lists.items(): 
    print(key, value) 

который выводит:

xya [20] 
def [30, 50] 
abc [10, 40] 
efg [20] 

Не совсем то, что вы просили, но должно быть для большинства целей, что вам нужно.

Смежные вопросы