将列表列表合并到字典中的干净方法?

我有两个清单:


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]))}

但我想知道是否有一种更干净或更Pythonic的方式来做到这一点,也许使用dict和zip?


素胚勾勒不出你
浏览 102回答 1
1回答

慕容森

正确,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'}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python