在記錄一個Python函數,我覺得更Python說:Python文檔:多次迭代?
def Foo(i):
"""i: An interable containing…"""
...不是...
def Foo(i):
"""i: A list of …"""
當i
真的不需要成爲一個list
。 (Foo
將愉快地運行在set
,tuple
等)問題是發電機。生成器通常只允許1次迭代。 大多數函數都可以使用只允許一次傳遞的生成器或迭代器,但有些不是。
對於那些不能接受生成器/只能迭代一次的函數,有沒有一個清晰的,一致的Python術語來說「只能迭代多次的東西」?
Python詞彙表iterable和iterator似乎有一個「一次,但如果幸運的話可能更多」的定義。
「集合」?它似乎在這裏描述了所有的示例類型。 – ephemient
對容器的使用+1,似乎以最簡潔的方式捕捉底層的想法,但是......我不認爲我看過任何Python文檔中使用過的「容器」? –
容器是帶有__contains __()方法的對象,對於可重用的迭代既不必要也不足夠。 http://docs.python.org/library/collections.html#collections.Container –