Python:For循环问题

Python:For循环问题,python,loops,for-loop,Python,Loops,For Loop,我有一个简单的for循环问题,当我运行下面的代码时,它会打印出一系列“蓝绿色”序列,然后是一系列“绿色”序列。我希望输出是;如果第[4]行等于1,则打印蓝色,否则打印绿色 for row in rows: for i in `row[4]`: if i ==`1`: print 'blue ' else: print 'green ' 任何帮助都将不胜感激 谢谢 Y

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

 for row in rows:
        for i in `row[4]`:
            if i ==`1`:
                print 'blue '
            else:
                print 'green '
任何帮助都将不胜感激

谢谢


Yas

试试这样:

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"

试着这样做:

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"
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"
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"

为什么不对行中的行执行
,并测试行的值?@LB:Um。。。我想是因为我有点直截了当。这是常有的事。我会编辑的,谢谢!为什么不对行中的行执行
,并测试行的值?@LB:Um。。。我想是因为我有点直截了当。这是常有的事。我会编辑的,谢谢!这似乎不是一个有效的python代码。另外,什么是
?您的意思是索引4(第五个元素)行的内容是==1打印蓝色,否则打印绿色,还是希望每四行打印蓝色,否则打印绿色?是第1行还是第2行?作业?如果是这样,请将其标记为[家庭作业]。我认为您没有正确使用反勾号(您真的想要
第[4]
行的
repr
?)。这是您的代码的文本剪切粘贴还是您编辑了它?这似乎不是有效的python代码。另外,什么是
?您的意思是索引4(第五个元素)行的内容是==1打印蓝色,否则打印绿色,还是希望每四行打印蓝色,否则打印绿色?是第1行还是第2行?作业?如果是这样,请将其标记为[家庭作业]。我认为您没有正确使用反勾号(您真的想要
第[4]
行的
repr
?)。这是你的代码的文字剪切粘贴还是你编辑的?