itertools считать со списками - PullRequest
1 голос
/ 21 февраля 2020

Я хочу передать элемент itertools.count в качестве индекса списка, но это приводит к следующей ошибке:

TypeError: индексы списка должны быть целыми или кусочками, а не itertools.count

Попытка int(counter) также не работает, в результате чего

TypeError: int () должен быть строкой, байтовоподобным объектом или числом, а не 'itertools. count '

from itertools import count

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

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

Как передать счет в качестве индекса списка?

1 Ответ

2 голосов
/ 21 февраля 2020

Вы можете использовать next, чтобы получить следующий элемент из счетчика.

from itertools import count

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

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

Но то, как ваш l oop структурирован в настоящее время, в конечном итоге приведет к IndexError, когда счетчик достиг 6, поскольку в вашем списке только 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)
...