1
svar
263
visningar
If-sats i en for-loop
Hej, ponera att jag har en funktion som ser ut ungefär såhär:
def foo(arg1, condition):
for i in range(100):
if condition:
a = bar(arg1+i)
else:
a = bar(arg1+1) # annorlunda än ovan
# gör någor mer med a
return
Jag har alltså en if-sats inuti for-loopen, men eftersom condition är konstant kommer denna if-sats alltid göra samma sak i varje iteration. Finns det något snyggare sätt att skriva koden utan att behöva utvärdera if-satsen varje iteration i for-loopen?
If-satsen är trivial att utvärdera, eftersom sanningsvärden finns i variabeln 'condition', men man kan förstås skriva så här:
def foo(arg1, condition):
if condition:
for i in range(100):
a = bar(arg1+i)
else:
for i in range(100):
a = bar(arg1+1) # annorlunda än ovan
return