我有一个字典,里面有不同长度的列表值。我需要在新字典中获取与同一关键字相关联的同一位置的值。
原始词典{A:[1,2],B:[3,4,5]}
新字典:{A:[1,3],B:[2,4],C:[5]}
我尝试了一个for循环,并将我的值包装在zip_angest中,但仍然得到一个列表索引超出范围的错误。
for x in range(1, max([len(v) for v in sub_folder_notebooks.values()])):
notebook_step[x] = zip_longest([elem[x] for elem in sub_folder_notebooks.values()])
当循环遍历dictsub_folder_notebooks
的值时,我会添加一个条件,以确保您可以访问elem[x]。不是最好的方法,但应该做到这一点:
for x in range(0, max([len(v) for v in sub_folder_notebooks.values()])):
notebook_step[x] = zip_longest([elem[x] for elem in sub_folder_notebooks.values() if len(elem)>x])
我从x=0开始,因为你也想有第一个元素。