python повторяемость подразумевает счетное? - PullRequest
0 голосов
/ 16 апреля 2020

Я наткнулся на интересный случай - единственная вещь, в которой я уверен, - это то, что я получу iterable объект.

Что я действительно, и единственное, хочу сделать, это посчитать его.

Я искал, если итерация в python подразумевает исчисление, и я нашел разные места, утверждающие это, кроме официальных документов.

Итак, возникает 2 вопроса:

  1. В Python действительно ли iterable => countable (количество элементов)? Или это просто очень распространено?

  2. Есть ли обобщенный c pythoni c способ получить счет из итерируемого? На что, похоже, здесь дан ответ { ссылка } то есть не без учета, но автор предоставил однострочник pythoni c:

    sum(1 for _ in iterableObject)
    

1 Ответ

0 голосов
/ 16 апреля 2020

iterables не поддерживают метод len. Чтобы получить их длину, вы должны отлить их во что-то, что поддерживает их, или вручную l oop через них (и исчерпать их в процессе) во время подсчета, как в приведенном вами фрагменте кода.

Как В результате требование использования итерируемого и необходимости знать его длину несколько противоречиво. Плюс, как @ Veedra c говорит в комментариях, итерации могут иметь бесконечную длину .

Подводя итог, если вам нужно знать, сколько элементов содержится, вам нужно другая структура данных.

...