繁体   English   中英

在python list comprehension中,我们能否查看执行期间创建的先前值

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM