Как сделать цикл 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
)
В соответствии с pylint
документация:
--dummy-переменные-RgX = Регулярное выражение, совпадающее с именами, используемыми для фиктивных переменных (т.е. не используется). [текущий: _| пустышка]
Другими словами, если имя переменной начинается с подчеркивания или с букв dummy
, pylint
не будет жаловаться на то, что переменная не используется:
for dummy in range(1, 42):
print "spam"
Обычно вы можете обойти это, вот так в вашем случае:
>>> print "spam\n"*len(range(1,42))
3 простых причины
- Нет способа перебрать вашу программу без использования переменной счетчика в
for
петля. - Но вы можете создать программу, которая идет от
index[1]
вindex[2]
просто добавивif index[1]
готово.return index[]+1
, - К сожалению, вам нужно создать дополнительную программу, которая не так эффективна, как
for
цикл и не эффективен в длинных программах.