Как сделать цикл For, когда вам не нужен индекс в Python?

Если мне нужен цикл для в Python

for i in range(1,42):
    print "spam"

но не используйте "i" для чего-либо, что pylint жалуется на неиспользованную переменную. Как мне справиться с этим? Я знаю, что вы можете сделать это:

for dummy_index in range(1,42):
    print "spam"

но делать это кажется мне довольно странным, есть ли лучший способ?

Я довольно новичок в Python, так что прости меня, если я упускаю что-то очевидное.

5 ответов

Решение

Не существует "естественного" способа зацикливаться n раз без переменной счетчика в Python, и вы не должны прибегать к уродливым взломам только для того, чтобы заглушить анализаторы кода.

В вашем случае я бы предложил одно из следующего:

  • Просто игнорируйте предупреждение PyLint (или отфильтруйте предупреждения для односимвольных переменных)
  • Настройте PyLint, чтобы игнорировать переменные с именем i, которые обычно используются только в for петли в любом случае.
  • Пометить неиспользуемые переменные с помощью префикса, возможно, используя значение по умолчанию _ (это меньше отвлекает, чем dummy)
for _ in range(1,42):
    print "spam"

В соответствии с pylint документация:

--dummy-переменные-RgX =
          Регулярное выражение, совпадающее с именами, используемыми для фиктивных переменных (т.е.
          не используется). [текущий: _| пустышка]

Другими словами, если имя переменной начинается с подчеркивания или с букв dummy, pylint не будет жаловаться на то, что переменная не используется:

for dummy in range(1, 42):
    print "spam"

Обычно вы можете обойти это, вот так в вашем случае:

>>> print "spam\n"*len(range(1,42))

3 простых причины

  1. Нет способа перебрать вашу программу без использования переменной счетчика в for петля.
  2. Но вы можете создать программу, которая идет от index[1] в index[2] просто добавив if index[1]готово. return index[]+1,
  3. К сожалению, вам нужно создать дополнительную программу, которая не так эффективна, как for цикл и не эффективен в длинных программах.
Другие вопросы по тегам