2010-03-11 87 views
0

我有一個簡單的for循環問題,當我運行下面的代碼時,會打印出一系列「藍綠色」序列,然後是一系列「綠色」序列。我想要的輸出是;如果行[4]等於1,則打印藍色,否則打印綠色。Python:for循環問題

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

任何幫助將不勝感激

感謝

亞斯

+0

這似乎不是一個有效的Python代碼。另外,什麼是「行」? – SilentGhost 2010-03-11 16:31:43

+0

你的意思是索引4(第五個元素)的行的內容是== 1打印藍色其他打印綠色,還是你想在每一行打印藍色其他打印綠色? – 2010-03-11 16:33:40

+0

行1或2維列表? – 2010-03-11 16:33:48

回答

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

爲什麼不在'行中行'和測試行的值? – LB40 2010-03-11 16:30:18

+0

@LB:嗯......我想,因爲我有點頭腦冷靜。它發生了。我會編輯,謝謝! – unwind 2010-03-11 16:33:11

1
if rows[4] == 1: 
    print 'blue' 
else: 
    print 'green' 
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"