假设我有以下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
答案 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)时,您的意图是变异某些东西,并且不应该内心的理解。