3
結果爲None
,第二次爲list(a)
。任何人都有這方面的線索?爲什麼list()與對象分別顯示不同的結果?
>>> test = {1: 2, 3: 4}
>>> a= test.iterkeys()
>>> list(a)
**[1, 3]**
>>> list(a)
**[]**
>>> list(a)
[]
結果爲None
,第二次爲list(a)
。任何人都有這方面的線索?爲什麼list()與對象分別顯示不同的結果?
>>> test = {1: 2, 3: 4}
>>> a= test.iterkeys()
>>> list(a)
**[1, 3]**
>>> list(a)
**[]**
>>> list(a)
[]
iterkeys
返回迭代,其中,因爲任何迭代,可以在僅一次被迭代。
list
消耗整個迭代器,所以後者不能提供更多的值,所以後續列表是空的。
它是一個可迭代的,一旦你消耗了它們消失的值。 –
因爲'.iterkeys'返回一個單遍迭代器。 –