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理解答案并吸引更多的投票。