Как из двух списков создать список словарей с новыми ключами?
Есть два списка:
a = [раз, два, три]
b = [1, 2, 3]
Нужно создать список из словарей вида:
с = [{"word": 'раз', "count": 1}, {"word": 'два', "count": 2}, {"word": 'три', "count": 3}]
Пыталась использовать цикл
spisok = []
for word in a:
for v in b:
spis = {"word": wrd, "count": v}
spisok.append(spis)
Но значения в ключе "count" для всех значений ключа "word" одинаковое, то есть последнее из списка b. Подскажите, пожалуйста, как исправить данную проблему.
Ответы (3 шт):
Автор решения: Zhihar
→ Ссылка
сделайте в лоб
a = ['раз', 'два', 'три']
b = [1, 2, 3]
res = [{'word': obj[0], 'count': obj[1]} for obj in zip(a, b)]
print(res)
Автор решения: Danis
→ Ссылка
используйте функцию zip
a = ["раз", "два", "три"]
b = [1, 2, 3]
c = []
for word, count in zip(a, b):
c.append({"word":word, "count":count})
Автор решения: Alexandr
→ Ссылка
Так например
a = ['раз', 'два', 'три']
b = [1, 2, 3]
c =[{ 'word' : a[x], 'count' : b[x] } for x in range(len(a))]