Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/345.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何比较2个子列表的索引';列表列表中的元素_Python_For Loop_Compare_Nested Lists - Fatal编程技术网

Python 如何比较2个子列表的索引';列表列表中的元素

Python 如何比较2个子列表的索引';列表列表中的元素,python,for-loop,compare,nested-lists,Python,For Loop,Compare,Nested Lists,我想将子列表(索引[0])中的第一个元素与它前面的子列表中的同一个元素进行比较。如果不相等,我想在子列表中添加一个新元素,该元素将为0。如果它们相等,我想附加两个第二个元素之和的结果(例如:12+12=24) 我不知道如何在循环中检查的子列表之前引用子列表中的数据以实现比较,因为我只是附加了一些0。我很确定我引用上一个索引的方式是错误的 list = [['1046', '10'], ['1047','12'], ['1047','12']] for sublists in list:

我想将子列表(索引[0])中的第一个元素与它前面的子列表中的同一个元素进行比较。如果不相等,我想在子列表中添加一个新元素,该元素将为0。如果它们相等,我想附加两个第二个元素之和的结果(例如:12+12=24)

我不知道如何在循环中检查的子列表之前引用子列表中的数据以实现比较,因为我只是附加了一些0。我很确定我引用上一个索引的方式是错误的

list = [['1046', '10'], ['1047','12'], ['1047','12']]

for sublists in list:

    if sublists[1] !=  sublists[1 - 1]:
        sublists.append(0)

    else:
        velocity = float(sublists[2]) + float(sublists[2 - 1])
        sublists.append(velocity)

结果是:

R_list=[[1046',10',0],'1047',12',0],'1047',12',0]

虽然我想:


R_list=[[1046',10',0','1047',12',0','1047',12',24]
您的索引通常不正确。 请尝试以下操作:

for i in range(1,len(R_list)):
    if R_list[i][0]!=R_list[i-1][0]:
        R_list[i].append(0)
    else:
        R_list[i].append(int(R_list[i][1])+int(R_list[i-1][1]))
为了

上述情况表明:

[['1046', '10', 0], ['1047', '12', 0, 0], ['1047', '12', 0, 24]]
[['1046', '10', 0], ['1047', '12', 0, 0], ['1047', '12', 0, 24]]