Python 按值对列表求和
我试图用python对一个列表的值求和,但我没有任何运气。最后我想总结出三个值Python 按值对列表求和,python,list,sum,Python,List,Sum,我试图用python对一个列表的值求和,但我没有任何运气。最后我想总结出三个值 lst = [100, -1, -2, -3, 100, -1, -2, -3, 100] 100 -1-2-3 = 94 100 -1-2-3 = 94 100 = 100 这个怎么样 s = [] for i in lst: if i > 0 or len(s) == 0: s.append(i) # start a new element in s
lst = [100, -1, -2, -3, 100, -1, -2, -3, 100]
100 -1-2-3 = 94
100 -1-2-3 = 94
100 = 100
这个怎么样
s = []
for i in lst:
if i > 0 or len(s) == 0:
s.append(i) # start a new element in s when element is larger than zero
else:
s[-1] += i # otherwise add it to the last element of s
s
# [94, 94, 100]
或者如果你使用熊猫:
import pandas as pd:
ser = pd.Series(lst)
ser.groupby((ser > 0).cumsum()).sum()
#1 94
#2 94
#3 100
#dtype: int64
您想要lst中不同值的总和吗<代码>总和(集合(lst))是什么使它成为
100-1-2-3
而不是100-1-2-3+100
?是不是每三件事就触发一次分裂,或者每100个,或者每一个正数,或者其他什么?不,实际上我要找的是,它在列表中循环,求和,直到它碰到另一个正数,然后保存该和,重置计数器,然后继续非常正数镶嵌Heckleri尝试使用While循环并求和值。我尝试了if for循环和if语句。在这两种情况下,只要第一个条件得到满足,客户似乎就会提前退出。我似乎无法让它超越价值。