Какой лучший способ переместить итератор на один шаг вперед: `Для x в итераторе: Break` или` x = Next (итератор, нет) `?Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Какой лучший способ переместить итератор на один шаг вперед: `Для x в итераторе: Break` или` x = Next (итератор, нет) `?

Сообщение Anonymous »

Во время работы над учебной задачей, включающей перекрывающиеся N-Wise Windows из ввода иерных-аналогично тому, что делает итул.pairwise-я наткнулся на код, как это: < /p>

Код: Выделить всё

def f(seq):
it = iter(seq)
for x in it: break
for y in it:
yield x, y
x = y
строка для x в нем: break использовался вместо x = next (it, none) , чтобы избежать назначения x вообще, если seq пуст, что будет иметь место с помощью следующего () call.
Я не знаком с Cpython Internals или Low-Liful, что я не могу сказать, что я не могу сказать, что я не могу сказать, что я не могу сказать, что я не могу сказать, что я не могу сказать, что я не могу сказать, что я не могу сказать, что я не могу сказать, что я не могу сказать, что я не могу сказать, что я не могу сказать, что я не могу сказать, что я могу сказать, что я не могу сказать, что я не могу сказать, что я не могу сказать, что я не могу сказать, что я не могу сказать, что я не могу сказать, что я не могу сказать, что я не могу сказать, что я не могу сказать. Может ли кто -нибудь помочь мне понять плюсы и минусы обоих подходов для продвижения итератора одним предметом перед циклом?

Подробнее здесь: https://stackoverflow.com/questions/796 ... n-iterator
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»