我有一个很大的列表,其中的摘录如下:
power = [
['1234-43211', [5, 6, -4, 11, 22]],
['1234-783411', [43, -5, 0, 0, -1]],
['1234-537611', [3, 0, -5, -6, 0]],
['1567-345411', [4, 6, 8, 3, 3]],
['1567-998711', [1, 2, 1, -4, 5]]
]
字符串中的第一个数字是重要的数字,也是我希望将我的添加分开的数字。即我只想累积添加每个站点内的值(并返回每个奇异的累积添加),从不添加来自两个不同站点的值。
我的目标是遍历这个列表并累积添加一个站的 int 值,返回每个添加,然后在列表中检测到下一个站时重新开始。
期望的结果:
new = [
[48, 1, -4, 11, -21],
[ 51, 1, -9, 5, -21], '### End of '1234' ### '
[5, 8, 9, -1, 8], '### End of 1567 ###'
] or something similar to this
我尝试了以下方法:
for i in range(len(power)-1):
front_num_1 = power[i][0].split('-')[0]
front_num_2 = power[i+1][0].split('-')[0]
station = '%s' % (front_num_1)
j = power[i][1]
k = power[i+1][1]
if front_num_1 == front_num_2:
print [k + j for k, j in zip(j, k)]
elif front_num_1 != front_num_2:
print '#####################################
else:
print 'END'
然而,这种添加不是累积的,因此没有用。