Python Swap Function

前端 未结 3 895
执念已碎
执念已碎 2021-01-26 12:30

I\'m having a hard time expressing this in Python.

This is the description of what needs to be done.

swap_cards: (list of int, int) -> NoneType

3条回答
  •  盖世英雄少女心
    2021-01-26 13:02

    You can use the tuple swap idiom a, b = b, ato swap the variable noting that for edge cases you need to wrap around the index index % len(seq)

    Implementation

    def swap_cards(seq, index):
        indexes = (index, (index + 1)% len(seq))
        seq[indexes[0]], seq[indexes[1]] = seq[indexes[1]], seq[indexes[0]]
        return seq
    

    Example

    >>> swap_cards([3, 2, 1, 4, 5, 6, 0], 6)
    [0, 2, 1, 4, 5, 6, 3]
    >>> swap_cards([3, 2, 1, 4, 5, 6, 0], 5)
    [3, 2, 1, 4, 5, 0, 6]
    

提交回复
热议问题