首页 > 解决方案 > 将单个“for”循环转换为嵌套“for”循环

问题描述

我想知道如何将这个 for 循环转换为多行版本!

(str(s) for s in [sum(float(q) for q in e) for e in more_hours])

标签: pythonpython-3.x

解决方案


括在括号中,这是一个生成器表达式,等效于以下生成器:

def generator():
    for e in more_hours:
        yield str(sum(float(q) for q in e))

或者进一步分解内部生成器表达式:

def generator():
    for e in more_hours:
        s = 0
        for q in e:
            s += float(q)
        yield str(s)

推荐阅读