压缩两个n和2n长度的数组以形成字典

Noo*_*fri 7 python

我正在努力解决这个小问题.假设:

field_name = ['name', 'age', 'sex']
field_values = ['john', '24', 'M', 'jane', '26', 'F']
Run Code Online (Sandbox Code Playgroud)

输出类似于:

{  'name': ['john','jane'],
   'age': ['24', '26'],
   'sex': ['M', 'F']
}
Run Code Online (Sandbox Code Playgroud)

现在压缩:

dict_sample_fields = dict(zip(field_name, field_value))
#output
{  'name': 'john',
   'age': '24',
   'sex': 'M'
}
Run Code Online (Sandbox Code Playgroud)

如何实现对值的循环压缩?

我可以通过多循环实现这么长的路.单线会很酷:D.

r.o*_*ook 7

非常简单,你甚至不需要zip:

{k: field_values[i::len(field_name)] for i, k in enumerate(field_name)}

# {'name': ['john', 'jane'], 'age': ['24', '26'], 'sex': ['M', 'F']}
Run Code Online (Sandbox Code Playgroud)

利用切片的步骤list,并从field_name意志的索引开始.