У меня есть два списка:

a = ['A', 'B', 'C']
b = [ 1 ,  2 ,  3 ]

И я хочу объединить их в словарь вот так:

{'A': 1, 'B': 2, 'C': 3}

Я уже пробовал делать такие вещи, как:

{i: j for i in a for j in b}
dict(*a: *b)

Какие выходы

{'A': 3, 'B': 3, 'C': 3}
SyntaxError: invalid syntax
3
qwerty_url 16 Янв 2021 в 21:04

3 ответа

Лучший ответ
a = ['A', 'B', 'C']
b = [ 1 ,  2 ,  3 ]

print (dict(zip(a,b)))

Выход:

{'A': 1, 'B': 2, 'C': 3}
4
Synthase 16 Янв 2021 в 18:12

Для этого лучше использовать zip:

a = ['A', 'B', 'C']
b = [ 1 ,  2 ,  3 ]

{i:k for i,k in zip(a,b)}

#{'A': 1, 'B': 2, 'C': 3}
3
IoaTzimas 16 Янв 2021 в 18:06

Вы также можете использовать enumerate

d = {elem: b[i] for i, elem in enumerate(a)}
d

{'A': 1, 'B': 2, 'C': 3}
1
ggaurav 16 Янв 2021 в 18:11
65752902