如果,elif,Python中的其他内容不符合我的规则

时间:2017-09-08 18:19:33

标签: python

所以基本上我有一个简单的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打印正好相反。这怎么可能?

1 个答案:

答案 0 :(得分:2)

你不明白你要求Python做什么。 if/elif/else订单并不是说您将按此顺序打印它。它只是一个控制结构,只打印那些你拥有的项目。 for循环是它按照您不期望的顺序打印它的原因。如果你想打印3,2,1。那么你需要反转数组的顺序或者反转for循环索引的顺序,使它从2开始向后计数。