how do you make a For loop when you don't need index in python?
-
30-05-2021 - |
Pergunta
If I need a for
loop in Python:
for i in range(1,42):
print "spam"
but don't use the i
for anything, pylint complains about the unused variable. How should I handle this? I know you can do this:
for dummy_index in range(1,42):
print "spam"
but doing this seems quite strange to me. Is there a better way?
I'm quite new to Python, so forgive me if I'm missing something obvious.
Solução
There is no "natural" way to loop n times without a counter variable in Python, and you should not resort to ugly hacks just to silence code analyzers.
In your case I would suggest one of the following:
- Just ignore the PyLint warning (or filter reported warnings for one-character variables)
- Configure PyLint to ignore variables named
i
, that are usually only used infor
loops anyway. - Mark unused variables using a prefix, probably using the default
_
(it's less distracting thandummy
)
Outras dicas
for _ in range(1,42):
print "spam"
According to pylint
documentation:
--dummy-variables-rgx= A regular expression matching names used for dummy variables (i.e. not used). [current: _|dummy]
In other words, if the name of the variable starts with an underscore, or with the letters dummy
, pylint
would not complain about the variable being unused:
for dummy in range(1, 42):
print "spam"
Usually you can work around it, just like this in your case:
>>> print "spam\n"*len(range(1,42))
3 Simple Reasons
- There is no way to loop through your program without using a counter variable in a
for
loop. - But you can create a program that goes from
index[1]
toindex[2]
just by addingif index[1]
is done.return index[]+1
. - Unfortunately, you need to create an extra program which is not as efficient as the
for
loop and is not efficient in long programs.