我在這裏給一個簡單的例子。假設我在Python中有一個迭代器,並且此迭代器返回的每個對象本身都是可迭代的。我想獲取這個迭代器返回的所有對象,並將它們連成一個長迭代器。是否有一個標準的實用程序來實現這一點?如果一個python迭代器返回可迭代的對象,我怎樣才能將這些對象鏈接成一個大的迭代器?
這是一個人爲的例子。
x = iter([ xrange(0,5), xrange(5,10)])
x
是返回迭代器迭代器,我想鏈中的所有通過X返回到一個大的迭代的迭代器。在這個例子中這樣一個操作的結果應該是 相當於xrange(0,10),它應該被延遲評估。
看來,Python是一個非常好的教學語言。 itertools方法沒有開始工作,直到我首先想到「老式」方式。我想它不想讓我走捷徑,直到我學到了很長的路。 – 2010-11-29 17:59:03
嗯。這個問題是另一個重複:http://stackoverflow.com/questions/120886/python-idiom-to-chain-flatten-an-infinite-iterable-of-finite-iterables – 2010-11-30 05:01:05