Computer >> Máy Tính >  >> Lập trình >> Python

Hoán đổi các phần tử chỉ số chẵn và phần tử chỉ mục lẻ trong Python

Giả sử chúng ta có một danh sách các số được gọi là num, chúng ta sẽ trao đổi từng evenindexes liên tiếp với nhau và cũng trao đổi từng chỉ số lẻ liên tiếp với nhau.

Vì vậy, nếu đầu vào là [1,2,3,4,5,6,7,8,9], thì đầu ra sẽ là [3, 4, 1, 2, 7, 8, 5, 6, 9 ]

Để giải quyết vấn đề này, chúng tôi sẽ làm theo các bước sau -

  • length:=kích thước của nums
  • đối với tôi trong phạm vi từ 0 đến chiều dài, tăng thêm 4, thực hiện
    • nếu i + 2
    • trao đổi nums [i] và nums [i + 2]
  • nếu i + 3
  • trao đổi nums [i + 1] và nums [i + 3]
  • trả về số
  • Hãy cùng chúng tôi xem cách triển khai sau để hiểu rõ hơn -

    Ví dụ

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

    Đầu vào

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

    Đầu ra

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