首页 > 解决方案 > 我有两个清单。list1 作为键,list2 作为值。如何将值列表附加到 list1 中的相同键?

问题描述

list1 = [A,A,A,B,B,B,C,C,C] list2 = [1,2,3,4,5,6,7,8,9]

预期输出:{A:[1,2,3],B:[4,5,6],C:[7,8,9]}

这就是我想做的。但是,当我附加不同的值列表时,我陷入了困境。这是我的代码:

g = []
for i in range(len(list1)-1):
    if list1[i] == list1[i+1]:
        g.append(list2[i+1])
    else:
        continue
print(g)

输出为:[1,2,3,5,6,8,9]。我该怎么做才能获得单独的列表为[1,2,3],[4,5,6],[7,8,9]?

标签: listloopsdictionary

解决方案


使用字典在下面试试这个:

list1 = ['A','A','A','B','B','B','C','C','C']
list2 = [1,2,3,4,5,6,7,8,9]

output = {}
for i in range(len(list1)):
    if list1[i] not in output:
        output[list1[i]] = [list2[i]]
    else:
        output[list1[i]].append(list2[i])

print(output)

推荐阅读