w3resource

NumPy: Sort a given complex array using the real part first, then the imaginary part


Write a NumPy program to sort a given complex array using the real part first, then the imaginary part.

Sample Solution:

Python Code:

# Importing the NumPy library
import numpy as np

# Creating a list of complex numbers
complex_num = [1 + 2j, 3 - 1j, 3 - 2j, 4 - 3j, 3 + 5j]

# Displaying the original array of complex numbers
print("Original array:")
print(complex_num)

# Sorting the given complex array using the real part first, then the imaginary part
print("\nSorted a given complex array using the real part first, then the imaginary part.")
print(np.sort_complex(complex_num)) 

Sample Output:

Original array:
[(1+2j), (3-1j), (3-2j), (4-3j), (3+5j)]

Sorted a given complex array using the real part first, then the imaginary part.
[1.+2.j 3.-2.j 3.-1.j 3.+5.j 4.-3.j]

Explanation:

In the above exercise –

complex_num = [1 + 2j, 3 - 1j, 3 - 2j, 4 - 3j, 3 + 5j]: This line creates a list complex_num containing five complex numbers.

print(np.sort_complex(complex_num)): This line uses the np.sort_complex function to sort the list complex_num in ascending order. The sorting is based on the real parts first, and in case of equal real parts, the imaginary parts are considered. In this case, the sorted complex numbers are [1 + 2j, 3 - 2j, 3 - 1j, 3 + 5j, 4 - 3j].

Python-Numpy Code Editor: