我有以下格式的 2 个列表:
list1 = [[[a, b], 0.2], [[a, c], 0.5], [[a, d], 0.3], [[b, d], 0.1]]
# list1 is sorted by first element of its sublist
list2 = [[a, b], [a, d], [b, d]]
# list2 is sorted
我想要与list2中的每个元素相对应的所有“ list1子列表的第二个元素”的总和
因此总和应该是0.2 + 0.3 + 0.1 = 0.6
注意:子集中的元素始终存在于list1
我的解决方案:
list11=[]
list12=[]
for i in list1:
list11.append(i[0])
list12.append(i[1])
sum=0
for i in list2:
sum+=list12[list11.index(i)]
我希望有一个不涉及创建临时列表的解决方案。