Python:For循环问题

时间:2010-03-11 16:26:50

标签: python loops for-loop

我有一个简单的for循环问题,当我运行下面的代码时,会打印出一系列“蓝绿”序列,然后是一系列“绿色”序列。我想要输出;如果row [4]等于1则打印蓝色否则打印绿色。

 for row in rows:
        for i in `row[4]`:
            if i ==`1`:
                print 'blue '
            else:
                print 'green '

任何帮助都会感激不尽

感谢

亚斯

3 个答案:

答案 0 :(得分:3)

尝试这样的事情:

for i in xrange(len(rows)):
  if rows[i] == '1':
    print "blue"
  else:
    print "green"

或者,既然你实际上并不关心索引,你当然可以更干净地做到:

for r in rows:
  if r == "1":
    print "blue"
  else:
    print "green"

答案 1 :(得分:2)

enumerate()函数将迭代并为您提供索引和值:

for i, v in enumerate(rows):
    if i == 4:
        print "blue"
    else:
        print "green"

如果你想在每四行打印蓝色,那么绿色就是这样:

for i, v in enumerate(rows):
    if i % 4 == 0:
        print "blue"
    else:
        print "green"

答案 2 :(得分:1)

if rows[4] == 1:
    print 'blue'
else:
    print 'green'