Python 如何反转列表的一部分?

Python 如何反转列表的一部分?,python,python-3.x,list,reverse,Python,Python 3.x,List,Reverse,我有下一个清单: abclist = ['a', 'b', 'c', 'd', 'e'] 根据上面的列表,我如何创建下一个 Reversed_part = ['c', 'b', 'a', 'd', 'e'] 只有前三项是颠倒的,最后两项保持相同的顺序。这是一种方式 lst = ['a', 'b', 'c', 'd', 'e'] def partial_reverse(lst, start, end): """Indexing (start/end) inputs begins a

我有下一个清单:

abclist = ['a', 'b', 'c', 'd', 'e']
根据上面的列表,我如何创建下一个

Reversed_part = ['c', 'b', 'a', 'd', 'e']
只有前三项是颠倒的,最后两项保持相同的顺序。

这是一种方式

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']

您可以结合使用
反向
方法和
字符串切片

Ex:

abclist = ['a', 'b', 'c', 'd', 'e']
print(list(reversed(abclist[:3]))+abclist[-2:])
['c', 'b', 'a', 'd', 'e']
输出:

abclist = ['a', 'b', 'c', 'd', 'e']
print(list(reversed(abclist[:3]))+abclist[-2:])
['c', 'b', 'a', 'd', 'e']

选择要反转的零件(通过切片),将其反转,然后与其他未反转的零件合并。
rev=abclist[3::-1]+abclist[3:][/code>可能的重复。也有可能。欢迎来到SO。答案通常得益于代码的解释。这有助于OP理解答案并吸引更多的投票。