Variations in different Sorting techniques in Python Last Updated : 17 Nov, 2020 Comments Improve Suggest changes 2 Likes Like Report These are all different types for sorting techniques that behave very differently. Let's study which technique works how and which one to use. Let 'a' be a numpy array a.sort() (i) Sorts the array in-place & returns None (ii) Return type is None (iii) Occupies less space. No copy created as it directly sorts the original array (iv) Faster than sorted(a) Python3 # Python code to sort an array in-place # using a.sort import numpy as np # Numpy array created a = np.array([9, 3, 1, 7, 4, 3, 6]) # unsorted array print print('Original array:\n', a) # Return type is None print('Return type:', a.sort()) # Sorted array output print('Original array sorted->', a) OUTPUT: For a.sort() Original array: [9 3 1 7 4 3 6] Return type: None Original array sorted-> [1 3 3 4 6 7 9] sorted(a) (i) Creates a new list from the old & returns the new one, sorted (ii) Return type is a list (iii) Occupies more space as copy of original array is created and then sorting is done (iv) Slower than a.sort() Python3 # Python code to create a sorted copy using # sorted() import numpy as np # Numpy array created a = np.array([9, 3, 1, 7, 4, 3, 6]) # unsorted array print print('Original array:\n', a) b = sorted(a) # sorted list returned to b, b type is # <class 'list'> print('New array sorted->', b) # original array no change print('Original array->', a) OUTPUT:a.sorted() Original array: [9 3 1 7 4 3 6] New array sorted-> [1, 3, 3, 4, 6, 7, 9] Original array-> [9 3 1 7 4 3 6] np.argsort(a) (i) Returns the indices that would sort an array (ii) Return type is numpy array (iii) Occupies space as a new array of sorted indices is returned Python3 # Python code to demonstrate working of np.argsort import numpy as np # Numpy array created a = np.array([9, 3, 1, 7, 4, 3, 6]) # unsorted array print print('Original array:\n', a) # Sort array indices b = np.argsort(a) print('Sorted indices of original array->', b) # To get sorted array using sorted indices # c is temp array created of same len as of b c = np.zeros(len(b), dtype = int) for i in range(0, len(b)): c[i]= a[b[i]] print('Sorted array->', c) OUTPUT:np.argsort(a) Original array: [9 3 1 7 4 3 6] Sorted indices of original array-> [2 1 5 4 6 3 0] Sorted array-> [1 3 3 4 6 7 9] np.lexsort((b, a)) (i) Perform an indirect sort using a sequence of keys (ii) Sort by a, then by b (iii) Return type ndarray of ints Array of indices that sort the keys along the specified axis (iv) Occupies space as a new array of sorted indices pair wise is returned. Python3 # Python code to demonstrate working of # np.lexsort() import numpy as np # Numpy array created a = np.array([9, 3, 1, 3, 4, 3, 6]) # First column b = np.array([4, 6, 9, 2, 1, 8, 7]) # Second column print('column a, column b') for (i, j) in zip(a, b): print(i, ' ', j) ind = np.lexsort((b, a)) # Sort by a then by b print('Sorted indices->', ind) OUTPUT:np.lexsort((b, a)) column a, column b 9 4 3 6 1 9 3 2 4 1 3 8 6 7 Sorted indices-> [2 3 1 5 4 6 0] Create Quiz Comment S Shaurya Uppal 2 Improve S Shaurya Uppal 2 Improve Article Tags : Python Python-numpy Python numpy-Sorting Searching Explore Python FundamentalsPython Introduction 2 min read Input and Output in Python 4 min read Python Variables 4 min read Python Operators 4 min read Python Keywords 2 min read Python Data Types 8 min read Conditional Statements in Python 3 min read Loops in Python - For, While and Nested Loops 5 min read Python Functions 5 min read Recursion in Python 4 min read Python Lambda Functions 5 min read Python Data StructuresPython String 5 min read Python Lists 4 min read Python Tuples 4 min read Python Dictionary 3 min read Python Sets 6 min read Python Arrays 7 min read List Comprehension in Python 4 min read Advanced PythonPython OOP Concepts 11 min read Python Exception Handling 5 min read File Handling in Python 4 min read Python Database Tutorial 4 min read Python MongoDB Tutorial 2 min read Python MySQL 9 min read Python Packages 10 min read Python Modules 3 min read Python DSA Libraries 15 min read List of Python GUI Library and Packages 3 min read Data Science with PythonNumPy Tutorial - Python Library 3 min read Pandas Tutorial 4 min read Matplotlib Tutorial 5 min read Python Seaborn Tutorial 3 min read StatsModel Library - Tutorial 3 min read Learning Model Building in Scikit-learn 6 min read TensorFlow Tutorial 2 min read PyTorch Tutorial 6 min read Web Development with PythonFlask Tutorial 8 min read Django Tutorial | Learn Django Framework 7 min read Django ORM - Inserting, Updating & Deleting Data 4 min read Templating With Jinja2 in Flask 6 min read Django Templates 5 min read Build a REST API using Flask - Python 3 min read Building a Simple API with Django REST Framework 3 min read Python PracticePython Quiz 1 min read Python Coding Practice 1 min read Python Interview Questions and Answers 15+ min read Like