Я хочу создать словарь из заданного списка всего в одной строке . Ключи словаря будут индексами, а значения - элементами списка. Что-то вроде этого:
a = [51,27,13,56] #given list
d = one-line-statement #one line statement to create dictionary
print(d)
Выход:
{0:51, 1:27, 2:13, 3:56}
У меня нет особых требований относительно того, почему мне нужна одна строка. Я просто изучаю Python и задаюсь вопросом, возможно ли это.
python
list
dictionary
python-3.x
Наваз
источник
источник
{[x[0]:51, x[1]:27, x[2]:13, x[3]:56}
.zip()
:dict(zip(x, a))
.Ответы:
a = [51,27,13,56] b = dict(enumerate(a)) print(b)
будет производить
{0: 51, 1: 27, 2: 13, 3: 56}
источник
count()
...С другим конструктором у вас есть
a = [51,27,13,56] #given list d={i:x for i,x in enumerate(a)} print(d)
источник
Попробуйте
enumerate
: он вернет список (или итератор) кортежей(i, a[i])
, из которых вы можете построитьdict
:a = [51,27,13,56] b = dict(enumerate(a)) print b
источник
{x:a[x] for x in range(len(a))}
источник
Просто используйте понимание списка.
a = [51,27,13,56] b = dict( [ (i,a[i]) for i in range(len(a)) ] ) print b
источник