如何撤销列表的一部分?

时间:2018-03-17 03:47:07

标签: python python-3.x list reverse

我有下一个清单:

abclist = ['a', 'b', 'c', 'd', 'e']

使用上面的列表我如何创建下一个?

Reversed_part = ['c', 'b', 'a', 'd', 'e']

只有前三项被撤销,最后两项保持相同的顺序。

3 个答案:

答案 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)