在Python中向后打印列表

时间:2014-09-27 20:25:38

标签: python list printing reverse

我知道有更好的方法可以向后打印。但由于某种原因,我不能让这个工作。有什么想法吗?

fruit = 'banana'
index = 0
while index < len(fruit):
    print fruit[-(index)]
    index = index + 1

1 个答案:

答案 0 :(得分:6)

除了b之外你反转了所有内容,因为你从0开始,-0仍然是0。

你最终得到了索引0,-1,-2,-3,-4,-5,因此打印b,然后只反转anana。但是anana是一个回文,所以你不知道发生了什么!如果你选择了另一个词,它会更清楚:

>>> fruit = 'apple'
>>> index = 0
>>> while index < len(fruit):
...     print fruit[-index]
...     index = index + 1
... 
a
e
l
p
p

注意开始时的a,然后pple正确撤消。

index = index + 1 向上移动一行:

index = 0
while index < len(fruit):
    index = index + 1
    print fruit[-index]

现在使用索引-1,-2,-3,-4,-5和-6代替:

>>> fruit = 'banana'
>>> index = 0
>>> while index < len(fruit):
...     index = index + 1
...     print fruit[-index]
... 
a
n
a
n
a
b
>>> fruit = 'apple'
>>> index = 0
>>> while index < len(fruit):
...     index = index + 1
...     print fruit[-index]
... 
e
l
p
p
a

我删除了表达式(..)中的-(index),因为它是多余的。