在 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+ 瀏覽量

    開啟你的職業生涯

    完成課程後獲得認證

    開始學習
    廣告