[英]In python list comprehension can we look at previous values created during execution
我有一个字典,在列表理解过程中正在创建它时,可以访问以前创建的值吗?
例:
h = {i:1+h[i-1] for i in range(1,100))}
编辑:我读i:i + h[i-1]
而不是i:1 + h[i-1]
。 后者总是等于i:i
除了第一种情况是1+None
这可以满足您在字典理解中的要求。 需要Python 3.2或更高版本:
from itertools import accumulate
h = {i:v for i,v in enumerate(accumulate(range(100)))}
否则使用这个
def accumulate(r):
next_value = 0
for i in r:
next_value = next_value + i
yield next_value
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.