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)
由内而外想一想。给定一个元组,你如何制作键值对?
tup[0]: tup[1:]
Run Code Online (Sandbox Code Playgroud)
现在只需将其包装在字典中:
tup[0]: tup[1:]
Run Code Online (Sandbox Code Playgroud)
尝试这个
>>> 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。