如何在Python中反转数组

时间:2013-12-30 12:06:32

标签: python

在Python中 如何编写以下程序:

从给定顺序中的后续单词的数组中,在两个方向上从中间反转并显示它

InputArray = ['Good', 'better', 'Best', 'Fanstatic', 'perfect', 'Super', 'Fine', 'Great' ]

Output = [ 'Fanstatic', 'Best', 'Better', 'Good', 'Great', 'Fine', 'Super', 'Perfect' ]

4 个答案:

答案 0 :(得分:3)

l1 = ['Good', 'better', 'Best', 'Fanstatic', 'perfect', 'Super', 'Fine', 'Great']
hlength = len(l1)//2
print inputArray[:hlength][::-1] + inputArray[hlength:][::-1]

<强>输出

['Fanstatic', 'Best', 'better', 'Good', 'Great', 'Fine', 'Super', 'perfect']

答案 1 :(得分:1)

使用reverse()功能

>>> InputArray = ['Good', 'better', 'Best', 'Fantastic', 'perfect', 'Super', 'Fine', 'Great']
>>> middle = len(InputArray)/2
>>> Output = InputArray[middle:] + InputArray[:middle] # swap the last half with the first half
>>> Output.reverse() # reverse the list in-place
>>> Output
['Fantastic', 'Best', 'better', 'Good', 'Great', 'Fine', 'Super', 'perfect']

<强>解释

InputArray[middle:]返回从索引middle开始到结尾的子列表 InputArray[:middle]返回从索引0开始到middle - 1

的子列表

或者你可以使用这个单行

>>> Output = InputArray[middle-1::-1] + InputArray[:middle-1:-1]
>>> Output
['Fantastic', 'Best', 'better', 'Good', 'Great', 'Fine', 'Super', 'perfect']

<强>解释

InputArray[middle-1::-1]返回从索引middle-1开始到0的子列表 InputArray[:middle-1:-1]返回从索引结束到middle - 1

的子列表

[start:end:step_size]第三个参数将步长设置为-1,因此反转顺序。

答案 2 :(得分:0)

或者你可以尝试这个:

InputArray = ['Good', 'better', 'Best', 'Fanstatic', 'perfect', 'Super', 'Fine', 'Great' ]
for i in reversed(InputArray):
  OutputArray = i
  print OutputArray 

InputArray = ['Good', 'better', 'Best', 'Fanstatic', 'perfect', 'Super', 'Fine', 'Great' ] for i in reversed(InputArray): OutputArray = i print OutputArray

答案 3 :(得分:0)

m = len(InputArray)/2
OutputArray = InputArray[0:m][::-1]+InputArray[m::][::-1]

给定输入的输出:

['Fanstatic', 'Best', 'better', 'Good', 'Great', 'Fine', 'Super', 'perfect']