在Python中 如何编写以下程序:
从给定顺序中的后续单词的数组中,在两个方向上从中间反转并显示它
InputArray = ['Good', 'better', 'Best', 'Fanstatic', 'perfect', 'Super', 'Fine', 'Great' ]
Output = [ 'Fanstatic', 'Best', 'Better', 'Good', 'Great', 'Fine', 'Super', 'Perfect' ]
答案 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']