Computer >> Computer tutorials >  >> Programming >> Python

Sort Array By Parity in Python


Suppose, we have an array A with some numbers. We have to arrange the numbers as even then odd. So put the even numbers at first, then the odd numbers. So if the array is like A = [1, 5, 6, 8, 7, 2, 3], then the result will be like [6, 8, 2, 1, 5, 7, 3]

To solve this, we will follow these steps −

  • set i := 0 and j := 0
  • while j < size of arr
    • if arr[j] is even, then seap arr[i] and arr[j], and increase i by 1
    • increase j by 1
  • return arr

Example

Let us see the following implementation to get better understanding −

class Solution(object):
   def sortArrayByParity(self, a):
      i = 0
      j =0
      while j < len(a):
         if a[j]%2==0:
            a[i],a[j] = a[j],a[i]
            i+=1
         j+=1
      return a
ob1 = Solution()
print(ob1.sortArrayByParity([1,5,6,8,7,2,3]))

Input

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

Output

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