I have a simple for loop problem, when i run the code below it prints out series of 'blue green' sequences then a series of 'green' sequences. I want the output to be; if row[4] is equal to 1 to print blue else print green.
for row in rows:
for i in `row[4]`:
if i ==`1`:
print 'blue '
else:
print 'green '
Any help would be grateful
thanks
Yas
3 Answers 3
Try something like this:
for i in xrange(len(rows)):
if rows[i] == '1':
print "blue"
else:
print "green"
Or, since you don't actually seem to care about the index, you can of course do it more cleanly:
for r in rows:
if r == "1":
print "blue"
else:
print "green"
answered Mar 11, 2010 at 16:28
unwind
402k64 gold badges492 silver badges620 bronze badges
the enumerate() function will iterate and give you the index as well as the value:
for i, v in enumerate(rows):
if i == 4:
print "blue"
else:
print "green"
if you want to print blue on every fourth line else green do this:
for i, v in enumerate(rows):
if i % 4 == 0:
print "blue"
else:
print "green"
Comments
if rows[4] == 1:
print 'blue'
else:
print 'green'
answered Mar 11, 2010 at 16:30
Thiago Chaves
9,5335 gold badges32 silver badges25 bronze badges
Comments
lang-py
rows?reprofrow[4]?). Is that a literal cut and paste of your code or did you edit it?