Python 我想根据另一个列表的条件添加第二个列表的值

Python 我想根据另一个列表的条件添加第二个列表的值,python,numpy,Python,Numpy,我有两份清单: a = [[1, 0.5], [1, 0.5], [2, 1.0], [3, 1.0]] b = [-0.5, -0.5, 0.0, 0.0] 现在,对于a中的每个列表a[i],我需要比较列表a[i]的第0个索引中的值,并将其与位于a[i+1]中的列表的第0个索引进行比较。如果它们相同,那么我需要在列表b中添加相应的值,即b[I]和b[I+1] 比如说,, 在上面的列表中,我有[0]=[1,0.5]和[1]=[1,0.5]。我们看到这两个列表中的第一个元素都是1。因为它们是相

我有两份清单:

a = [[1, 0.5], [1, 0.5], [2, 1.0], [3, 1.0]]

b = [-0.5, -0.5, 0.0, 0.0]
现在,对于a中的每个列表a[i],我需要比较列表a[i]的第0个索引中的值,并将其与位于a[i+1]中的列表的第0个索引进行比较。如果它们相同,那么我需要在列表b中添加相应的值,即b[I]和b[I+1]

比如说,, 在上面的列表中,我有[0]=[1,0.5]和[1]=[1,0.5]。我们看到这两个列表中的第一个元素都是1。因为它们是相同的,所以在列表b中,我想将位于b[0]和b[1]中的元素添加在一起,即,-0.5和-0.5

但是,a[2]=[2,1.0]和a[3]=[3,1.0]。而且,由于这两个列表的第0个位置不匹配,因此不需要对列表b执行任何操作,也就是说,我不将b[2]和b[3]中的元素一起添加


我该如何处理这个问题呢?

因此,对于第一个例子。你想让b变成[0.0,0.0,0.0]?换句话说,你加上相应的b值到底是什么意思?b会变异吗?不,我只想打印b[0]和b[1]的和。这些列表中没有任何突变。如果a中任何第i个列表的第0个索引值与a中第i+1个列表的另一个第0个索引值相匹配,则打印b[i]和b[i+1]的总和,因为我的输出格式不正确而更新了我的答案
a = [[1, 0.5], [1, 0.5], [2, 1.0], [3, 1.0]]
b = [-0.5, -0.5, 0.0, 0.0]

# through second to last element
for i in range(len(a) - 1):
    if a[i][0] == a[i+1][0]:
        print('for i=={}: {}'.format(i, b[i] + b[i+1]))
    else: # for complete output verification
        print('index "{}" missed'.format(i))