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

If, elif, else in Python does not follow my rules

所以基本上我有一个简单的if/elif/elif/else语句,比如:

1
2
3
4
5
6
7
8
9
10
11
12
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中读取:

1
2
3
4
col_one  col_text
One      Text1
Two      Text2
Three    Text3

但是,当我运行下面的if/elif/elif/else命令时,它先打印"one"、"text1",然后打印"two"、"text2",最后打印"three"、"text3"。但我告诉python打印的正好相反。这怎么可能?


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