我想组合一个生成器的生成器,以便当我在所说生成器上调用list()时,得到所有生成器元素的列表,而不是生成器的列表。例如,我目前正在做:
list(itertools.chain((i for i in range(j)) for j in range(3)))
正在返回:
[<generator object <genexpr>.<genexpr> at 0x7fc48921e200>,
<generator object <genexpr>.<genexpr> at 0x7fc48921eeb8>,
<generator object <genexpr>.<genexpr> at 0x7fc48921e7d8>]
但是我希望它返回类似:
[0, 0, 1, 0, 1, 2]
答案 0 :(得分:1)
您可以这样做
for (char letter: lowerCaseAlphabet) {
if (argument == letter)
acceptArgument = true;
}
list(itertools.chain.from_iterable((i for i in range(j+1)) for j in range(3)))
# [0, 0, 1, 0, 1, 2]
不会提供您想要的输出。您必须使用range(j)
您可以在不使用迭代器的情况下完成此操作。
range(j+1)