我想将子列表(Index[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]))
对于
R_list = [['1046', '10', 0], ['1047', '12', 0], ['1047', '12', 0]]
上面给出了:
[['1046', '10', 0], ['1047', '12', 0, 0], ['1047', '12', 0, 24]]