Получите значения словаря для каждого ключа в списке

Скажем, у меня есть список:

a = ['apple', 'carrot']

и словарь:

d ={'apple': [2,4], 'carrot': [44,33], 'orange': [345,667]}

Как я могу использовать список в качестве ключа к поиску в словаре d? Я хочу, чтобы результат был записан в разделенный от запятой текстовый файл как это

apple,    carrot
2,        44
4,        33

Исправленный список от = ['яблоко', 'оранжевое'] к = ['яблоко', 'морковь']

5
задан user265978 17 March 2010 в 15:40
поделиться

2 ответа

Я знаю, что другие люди были быстрее и их решения похожи, но вот мой вывод (принимайте или оставьте):

a = ['apple', 'orange']

d ={'apple': [2,4], 'carrot': [44,33], 'orange': [345,667]}

fo = open('test.csv','w')
fo.write(',\t'.join(a)+'\n')
for y in xrange(len(d[a[0]])):
    fo.write(',\t'.join([str(d[i][y]) for i in a])+'\n')

fo.close()

, который генерирует файл test.csv:

apple,  orange
2,      345
4,      667
3
ответ дан 13 December 2019 в 05:33
поделиться
a = ['apple', 'orange']
d ={'apple': [2,4], 'carrot': [44,33], 'orange': [345,667]}

print ',\t'.join(a)
for row in zip(*(d[key] for key in a)):
    print ',\t'.join(map(str, row))

Вывод:

apple,  orange
2,      345
4,      667
8
ответ дан 13 December 2019 в 05:33
поделиться
Другие вопросы по тегам:

Похожие вопросы: