簡體   English   中英

itertools 計數與列表

[英]itertools count with lists

我想將itertools.count元素作為列表索引傳遞,但會導致此錯誤:

類型錯誤:列表索引必須是整數或切片,而不是 itertools.count

嘗試int(counter)也不起作用,導致

類型錯誤:int() 參數必須是字符串、類似字節的對象或數字,而不是“itertools.count”

from itertools import count

index = count()
l = [5,6,7,8,9,0]

while True:
    print(l[int(index)])

如何將計數作為列表索引傳遞?

您可以使用next從計數器中獲取下一個元素。

from itertools import count

index = count()
l = [5, 6, 7, 8, 9, 0]

while True:
    print(l[next(index)])

但是您的循環當前的結構方式,當計數器達到 6 時,這最終會導致IndexError ,因為您的列表只有 6 個元素。

輸出將如下所示:

5
6
7
8
9
0
Traceback (most recent call last):
  File "test.py", line 7, in <module>
    print(l[next(index)])
IndexError: list index out of range

如果您只想打印列表的元素,您可以使用 Python 更輕松地執行此操作,如下所示:

for element in l:
    print(element)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM