在 Python 中交换偶数索引元素和奇数索引元素


假设我们有一个名为 nums 的数字列表,我们将每个连续的偶数索引相互交换,并且每个连续的奇数索引相互交换。

因此,如果输入像 [1,2,3,4,5,6,7,8,9],则输出将为 [3, 4, 1, 2, 7, 8, 5, 6, 9]

为了解决这个问题,我们将按照以下步骤进行 −

  • length := nums 的大小
  • 对于 range 0 到 length,增加 4,做
    • 如果 i+2
    • 交换 nums[i] 和 nums[i+2]
  • 如果 i+3
  • 交换 nums[i+1] 和 nums[i+3]
  • 返回 nums
  • 让我们看以下实现来获得更好的理解 −

    示例

     即时演示

    class Solution:
       def solve(self, nums):
          length = len(nums)
          for i in range(0,length,4):
             if(i+2<length):
                nums[i], nums[i+2] = nums[i+2], nums[i]
             if(i+3<length):
                nums[i+1], nums[i+3] = nums[i+3], nums[i+1]
          return nums
    ob = Solution()
    nums = [1,2,3,4,5,6,7,8,9]
    print(ob.solve(nums))

    输入

    [1,2,3,4,5,6,7,8,9]

    输出

    [3, 4, 1, 2, 7, 8, 5, 6, 9]

    更新于: 22-Sep-2020

    3K+ 浏览量

    开启你的职业生涯

    完成课程后获得认证

    开始学习
    广告
    © . All rights reserved.