将元组列表转换为字典

flo*_*e-y 2 python dictionary tuples list

我有一个要转换为字典的元组列表。列表中的每个元组都有四个元素:

N = [('WA', 'OR', 'CA', 'HI'), ('MA', 'NY', 'PA', 'FL')]

如何设置字典,其中元组的第一个元素是键,值是其余元素的元组?

dict = {"WA": ("OR", "CA", "HI"), "MA": ("NY", "PA", "FL")}

我尝试了类似的方法,但我得到了第四个元素的截断版本(至少在我看来,我的实际列表比示例列表大得多):

for i in range(len(N))}:
    for v in N[i]:
        dict[i] = v[1:4]
Run Code Online (Sandbox Code Playgroud)

Cor*_*zin 5

由内而外想一想。给定一个元组,你如何制作键值对?

tup[0]: tup[1:]
Run Code Online (Sandbox Code Playgroud)

现在只需将其包装在字典中:

tup[0]: tup[1:]
Run Code Online (Sandbox Code Playgroud)


lmi*_*asf 2

尝试这个

>>> N = [('WA', 'OR', 'CA', 'HI'), ('MA', 'NY', 'PA', 'FL')]
>> d = {key: (*values,) for key, *values in N}
>>> d
{'WA': ('OR', 'CA', 'HI'), 'MA': ('NY', 'PA', 'FL')}
Run Code Online (Sandbox Code Playgroud)

for key, *values in N意味着它将把每个元组的第一个元素作为key,并将其余元素放入values