3
我希望遍歷list_iterator兩次。當我現在嘗試這樣做時,迭代器沒有第二次迭代。我可以重置嗎?遍歷list_iterator兩次
l = iter(["1","2","3","4"])
for i in l:
print(i)
for i in l:
print(i)
一個list_iter對象正在傳遞給我希望迭代兩次的函數。傳遞list_iterator對象是否不合適?
最好是通過列表本身,無需創建一個迭代器。 –
迭代器是「使用並拋出」類型的對象 – thefourtheye
「傳遞list_iterator對象是否不合適?」 - 我的經驗是,它可能會導致一些混淆,以傳遞只能迭代一次的事情(即使生成器和文件對象對接收者來說也不一定是顯而易見的)。函數需要記錄它們的輸入是否需要多次迭代,以及它們的輸出是否可以迭代多次。預計,例如任何帶有yield的函數都會返回一次只能迭代一次的內容。你只需要確保你知道它發生的時間。 –