检索所有迭代器值比方说,我有这将产生两个值生成函数:从发生器功能
def gen_func():
for i in range(5):
yield i, i**2
我想找回我的函数的所有迭代器值。目前我使用这个代码片段为此目的:
x1, x2 = [], []
for a, b in gen_func():
x1.append(a)
x2.append(b)
这对我有用,但似乎有点笨重。有没有更紧凑的编码方式?我在想:
x1, x2 = map(list, zip(*(a, b for a, b in gen_func())))
但是,这只是给我一个语法错误。 PS:我知道我可能不应该使用一个生成器来达到这个目的,但我在其他地方需要它。
编辑:任何类型的x1
和x2
将工作,但是,我更喜欢列表我的情况。
x1和x2的所需类型是什么?名单?元组?只要它是可迭代的,什么都可以? – Kevin
我宁愿列表。感谢您的评论,我更新了我的问题。 – Nyps