我有两个列表:
ind_vars_unique_list = [['R1'], ['Samoan', 'English'], ['Rural', 'Urban']]
ind_vars = ['Round', 'PrefLang', 'Rural']
我想创建一个像这样的字典
{'R1': 'Round', 'Samoan':'PrefLang', 'English':'PrefLang', 'Rural':'Rural', 'Urban':'Rural'}
我可以使用字典理解方法获得解决方案:
{ind_vars_unique_list[i][j]:ind_vars[i] for i in range(len(ind_vars)) for j in range(len(ind_vars_unique_list[i]))}
但是我想知道是否有更干净或更Python化的方式,例如使用dict和zip?
答案 0 :(得分:3)
正确的做法是zip
:
>>> {x: v for k, v in zip(ind_vars_unique_list, ind_vars) for x in k}
{'R1': 'Round', 'Samoan': 'PrefLang', 'English': 'PrefLang', 'Rural': 'Rural', 'Urban': 'Rural'}