我有下一个清单:
abclist = ['a', 'b', 'c', 'd', 'e']
使用上面的列表我如何创建下一个?
Reversed_part = ['c', 'b', 'a', 'd', 'e']
只有前三项被撤销,最后两项保持相同的顺序。
答案 0 :(得分:2)
这是一种方式。
lst = ['a', 'b', 'c', 'd', 'e']
def partial_reverse(lst, start, end):
"""Indexing (start/end) inputs begins at 0 and are inclusive."""
return lst[:start] + lst[start:end+1][::-1] + lst[end+1:]
partial_reverse(lst, 0, 2) # ['c', 'b', 'a', 'd', 'e']
答案 1 :(得分:0)
您可以使用reversed
方法和&amp ;; string slicing
<强>实施例强>
abclist = ['a', 'b', 'c', 'd', 'e']
print(list(reversed(abclist[:3]))+abclist[-2:])
<强>输出:强>
['c', 'b', 'a', 'd', 'e']
答案 2 :(得分:0)
abclist = ['a', 'b', 'c', 'd', 'e']
quantityToReverse = 3
remainder = len(abclist) - quantityToReverse
reverseArray = list(reversed(abclist[:quantityToReverse]))+abclist[-remainder:]
print(reverseArray)