如何对列表列表(python)的第4个元素进行连续求和

2024-06-16 09:02:48 发布

您现在位置:Python中文网/ 问答频道 /正文

我有这个:

lst=[['Lisboa', 36.751510873830824, 204.31859739607566, '3'],
    ['Madrid', 520.8624708804804, 392.9722807116641, '2'],
    ['Copenhaga', 1971.3230985689115, 2086.416520356296, '5'],
    ['Berlin', 2046.6589661942558, 1735.7426148990855, '4']]

想收到这个:

[['Lisboa', 36.751510873830824, 204.31859739607566, '3'],
['Madrid', 520.8624708804804, 392.9722807116641, '5'],
['Copenhaga', 1971.3230985689115, 2086.416520356296, '10'],
['Berlin', 2046.6589661942558, 1735.7426148990855, '14']]

希望能在这里得到一些帮助!!你知道吗


Tags: berlinlstmadridlisboacopenhaga
2条回答

这可能是一个值得怀疑的模式,但是:

 summed = 0
 for inner_list in outer_list:
      summed += inner_list[3]
      inner_list[3] = summed

如果出于某种原因要保留字符串:

 summed = 0
 for inner_list in outer_list:
      summed += int(inner_list[3])
      inner_list[3] = str(summed)

不清楚是否需要***在初始值3左右。如果这些都是加粗数字的失败尝试,并且您需要字符串格式的数字,请尝试:

cumsum = 0
for i in lst:
    cumsum += int(i[3])
    i[3] = str(cumsum)

>>> lst
[['Lisboa', 36.751510873830824, 204.31859739607566, '3'],
 ['Madrid', 520.8624708804804, 392.9722807116641, '5'],
 ['Copenhaga', 1971.3230985689115, 2086.416520356296, '10'],
 ['Berlin', 2046.6589661942558, 1735.7426148990855, '14']]

相关问题 更多 >