嵌套嵌套的Python

时间:2019-04-08 01:43:03

标签: python python-3.x

假设我有以下for循环:

d = defaultdict(int)
for f in foo:
    for b in f:
        d[b] += 1

我撕开了我的actual肿的实际例子,这与我的问题无关。现在我想以某种方式缩短它。例如列表理解,我们可以使用嵌套的for循环,并且如果正确完成它们,则可以使其可读性很强。因此,我们减少了嵌套和行数。我的问题是,我们可以在不进行理解的情况下进行嵌套for循环吗,所以我们将在Python中以这样的内容结束吗?:

d[b] += 1 for b in for f in foo

1 个答案:

答案 0 :(得分:3)

您可以使用itertools.chain

for b in itertools.chain.from_iterable(foo): d[b] += 1

请注意,当尝试执行此操作d[b] += 1 for b in for f in foo(当然是无效的sintax)时,您的意图是变异某些东西,并且不应该内心的理解。