Создать словарь с пониманием списка - PullRequest
1169 голосов
/ 17 ноября 2009

Мне нравится синтаксис понимания списка Python.

Можно ли его использовать и для создания словарей? Например, путем перебора пар ключей и значений:

mydict = {(k,v) for (k,v) in blah blah blah}  # doesn't work

Ответы [ 12 ]

1 голос
/ 27 мая 2018

Просто для примера. Представьте, что у вас есть следующий список:

nums = [4,2,2,1,3]

и вы хотите превратить его в диктовку, где ключ - это индекс, а значение - элемент в списке. Вы можете сделать это с помощью следующей строки кода:

{index:nums[index] for index in range(0,len(nums))}
0 голосов
/ 18 апреля 2019

Этот код создаст словарь, используя понимание списка для нескольких списков с различными значениями, которые можно использовать для pd.DataFrame()

#Multiple lists 
model=['A', 'B', 'C', 'D']
launched=[1983,1984,1984,1984]
discontinued=[1986, 1985, 1984, 1986]

#Dictionary with list comprehension
keys=['model','launched','discontinued']
vals=[model, launched,discontinued]
data = {key:vals[n] for n, key in enumerate(keys)}

enumerate передаст n в vals для сопоставления каждого key со своим списком

...