Преобразовать из списка в словарь
Как из списка сделать словарь?
из
['a 1', 'b 2', 'c 3']
сделать
{'a': 1, 'b': 2, 'c': 3}
Как именно сделать, чтобы ключом была буква?
Ответы (3 шт):
Автор решения: Danis
→ Ссылка
попробуйте так:
arr = ['a 1', 'b 2', 'c 3']
res = {}
for el in arr:
key, value = el.split()
res[key] = int(value)
либо так в одну строку:
res = {key: int(value) for key, value in map(str.split, arr)}
Автор решения: Victor VosMottor
→ Ссылка
Решение с пояснением:
l = ['a 1', 'b 2', 'c 3'] # Создадим список
d = {} # "Заготовим" словарь
for i in l: # Пройдет по всем его элементам с помощью цикла for
key, val = i.split(' ') # Pазобьем каждый элемент через пробел
d[key] = int(val) # Добавим пару ключ значение в словарь предварительно превратив значение из строки в число
Автор решения: splash58
→ Ссылка
достаточно сделать split и отдать в конструктор словаря
>>> dict(map(str.split, ['a 1', 'b 2', 'c 3']))
{'a': '1', 'b': '2', 'c': '3'}
чтобы значения были числами
>>> dict((k,int(v)) for k, v in map(str.split, , ['a 1', 'b 2', 'c 3']))
{'a': 1, 'b': 2, 'c': 3}