Python,字典和值

Python,字典和值,python,python-3.x,list,dictionary,Python,Python 3.x,List,Dictionary,我有一本字典,如下所示: test= {'Test': [sum(t) for t in zip(*data.values())],} test={ 'Test': [ t1, t2, t3, t4, t5 ] } 并假设试验值如下所示: test= {'Test': [sum(t) for t in zip(*data.values())],} test={ 'Test': [ t1, t2, t3, t4, t5 ] } 我希望得到以下结果: results={ 'Test': [

我有一本字典,如下所示:

test= {'Test': [sum(t) for t in zip(*data.values())],}
test={ 'Test': [ t1, t2, t3, t4, t5 ] }
并假设试验值如下所示:

test= {'Test': [sum(t) for t in zip(*data.values())],}
test={ 'Test': [ t1, t2, t3, t4, t5 ] }
我希望得到以下结果:

results={ 'Test': [ r1=t1 , r2=r1+t2 , r3=r2+t3 , r4=r3+t4 , r5=r4+t5 ] }
最后,如果结果值为负值,则设置为零

我怎样才能得到它?

使用

这将为您提供
{'Test':[1,3,7,-1,15]}

如果最终结果小于
0
,则可通过
max
功能完成将最终结果设置为
0
的附加条件

test['Test'] = list(max(v, 0) for v in itertools.accumulate(test['Test']))
在这种情况下,我们会得到
{'Test':[1,3,7,0,15]}

试试这个:

#初始化结果“测试”列表以通过索引访问
结果={'Test':[0代表测试['Test']]中的uuu}
#请注意,我们无法通过使用检查值是否不是0
#请尝试除索引器错误语句外的其他语句,因为存在索引-1
对于索引,枚举中的值(test['test']):
如果索引==0:
结果['Test'][0]=测试['Test'][0]
其他:
结果['Test'][index]=测试['Test'][index]+结果['Test'][index-1]
您可以使用列表理解:

test={'test':[1,2,3,4,5]}
结果=[sum(test[“test”][:i])+v表示i,v表示枚举(test[“test”])]

result_non_negative=[0如果x r1和s1是什么?难道不是
r1=s1
应该是
r1=t1
?是的,很抱歉,有一个打印错误。通过使用字典和添加标签,您的问题变得过于复杂了。好的,谢谢,如果我想将负值设置为零?类似于
test['test'][i如果i>=0,则i在itertools.accumulate中为0(test['test'])]
会起作用。事实上,我更喜欢使用@Matthias建议的
max
。这使它更具可读性。@Axe319这是我考虑的第二个选项。给未来读者的评论:看看Python标准库中的
itertools
模块。当您开始使用它时,它可能看起来很难,但它确实存在里面有很多非常有用的东西。