我不能使用itertools繼續,直到所有迭代完成的Python
所以編碼看起來很簡單,但我有算法的麻煩思維繼續運行,直到所有迭代已處理完畢的發電機。
功能的想法是把2個iterables因爲這樣的參數...
(['a', 'b', 'c', 'd', 'e'], [1,2,5])
而且它的作用是產生這些價值觀......
a, b, b, c, c, c, c, c
但是,如果第二次迭代首先耗盡了元素,則該函數只會迭代餘下的值一次...
那麼其餘的值將被重複這樣的:
d, e
def iteration(letters, numbers):
times = 0
for x,y in zip(letters, numbers):
try:
for z in range(y):
yield x
except:
continue
[print(x) for x in iteration(['a', 'b', 'c', 'd'], [1,2,3])]
我有困難,忽略了第一的StopIteration並繼續完成。
那麼這就是我遇到的問題,以及。我不知道如何讓迭代同時繼續,以便a得到1的值,b得到2的值。 – FlyingBumble
d和e應該發生什麼? –
當帶數字的迭代器耗盡時,第一個中的剩餘迭代器件每個應該只產生一次。 – FlyingBumble