所以基本上我有一个简单的IF / ELIF / ELIF / ELSE语句:
for i in xrange(0, len(df)):
if df.col_one[i] == 'Three':
print df.col_one[i]
print df.col_text[i]
elif df.col_one[i] == 'Two':
print df.col_one[i]
print df.col_text[i]
elif df.col_one[i] == 'One':
print df.col_one[i]
print df.col_text[i]
else:
pass
数据只是一个简单的数据框,我从Excel中读到:
col_one col_text
One Text1
Two Text2
Three Text3
然而,当我在下面运行if / elif / elif / else命令时,它会打印出'One','Text1'然后打印'Two','Text2',最后打印'Three','Text3'。但我告诉Python打印正好相反。这怎么可能?
答案 0 :(得分:2)
你不明白你要求Python做什么。 if/elif/else
订单并不是说您将按此顺序打印它。它只是一个控制结构,只打印那些你拥有的项目。 for
循环是它按照您不期望的顺序打印它的原因。如果你想打印3,2,1。那么你需要反转数组的顺序或者反转for循环索引的顺序,使它从2开始向后计数。