檢索所有迭代器值比方說,我有這將產生兩個值生成函數:從發生器功能
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