Python Tutorial

Introduction Python Features Python Applications System requirements for Python Python Installation Python Basics Python Variables Python Data Types Python IDE Python Keywords Python Operators Python Comments Python Pass Statement

Python Conditional Statements

Python if Statement Python elif Statement Python If-else statement Python Switch Case

Python Loops

Python for loop Python while loop Python Break Statement Python Continue Statement Python Goto Statement

Python Arrays

Python Array Python Matrix

Python Strings

Python Strings Python Regex

Python Built-in Data Structure

Python Lists Python Tuples Python Lists vs Tuples Python Dictionary Python Sets

Python Functions

Python Function Python min() function Python max() function Python User-define Functions Python Built-in Functions Anonymous/Lambda Function in Python

Python File Handling

Python File Handling Python Read CSV Python Write CSV Python Read Excel Python Write Excel Python Read Text File Python Write Text File Read JSON File in Python

Python Exception Handling

Python Exception Handling Python Errors and exceptions Python Assert

Python OOPs Concept

OOPs Concepts in Python Classes & Objects in Python Inheritance in Python Polymorphism in Python Python Encapsulation Python Constructor Static Variables in Python Abstraction in Python

Python Iterators

Iterators in Python Yield Statement In Python

Python Generators

Python Generator

Python Decorators

Python Decorator

Python Functions and Methods

Python Built-in Functions Python String Methods Python List Methods Python Dictionary Methods Python Tuple Methods Python Set Methods

Python Modules

Python Modules Python Datetime Module Python Calendar Module  

Python MySQL

Python MySQL Python MySQL Update Operation Python MySQL Delete Operation

Python MongoDB

Python MongoDB

Python Data Structure Implementation

Python Stack Python Queue Python Hash Table Python Graph

Python Advance Topics

Speech Recognition in Python Face Recognition in Python Python Rest API Python Command Line Arguments Python JSON Python Virtual Environment Type Casting in Python Collections in python Python Enumerate Python Debugger Python DefaultDict

Misc

Python PPTX Python Pickle Python Seaborn Python Coroutine Python EOL Python Infinity Python math.cos and math.acos function Python Project Ideas Based On Django Reverse a String in Python Reverse a Number in Python Python Word Tokenizer Python Trigonometric Functions Python try catch exception GUI Calculator in Python Implementing geometric shapes into the game in python Installing Packages in Python Python Try Except Python Sending Email Socket Programming in Python Python CGI Programming Python Data Structures Python abstract class Python Compiler Python K-Means Clustering List Comprehension in Python3 NSE Tools In Python Operator Module In Python Palindrome In Python Permutations in Python Pillow Python introduction and setup Python Functionalities of Pillow Module Python Argmin Python whois Python JSON Schema Python lock Return Statement In Python Reverse a sentence In Python tell() function in Python Why learn Python? Write Dictionary to CSV in Python Write a String in Python Binary Search Visualization using Pygame in Python Latest Project Ideas using Python 2022 Closest Pair of Points in Python ComboBox in Python Python vs R Python Ternary Operators Self in Python Python vs Java Python Modulo Python Packages Python Syntax Python Uses Python Logical Operators Python Multiprocessing Python History Difference between Input() and raw_input() functions in Python Conditional Statements in python Confusion Matrix Visualization Python Python Algorithms Python Modules List Difference between Python 2 and Python 3 Is Python Case Sensitive Method Overloading in Python Python Arithmetic Operators Design patterns in python Assignment Operators in Python Is Python Object Oriented Programming language Division in Python Python exit commands Continue And Pass Statements In Python Colors In Python Convert String Into Int In Python Convert String To Binary In Python Convert Uppercase To Lowercase In Python Convert XML To JSON In Python Converting Set To List In Python Covariance In Python CSV Module In Python Decision Tree In Python Difference Between Yield And Return In Python Dynamic Typing In Python Abstract design pattern in python Builder design pattern in python Prototype design pattern in Python Creational design patterns in Python

How to

How to convert integer to float in Python How to reverse a string in Python How to take input in Python How to install Python in Windows How to install Python in Ubuntu How to install PIP in Python How to call a function in Python How to download Python How to comment multiple lines in Python How to create a file in Python How to create a list in Python How to declare array in Python How to clear screen in Python How to convert string to list in Python How to take multiple inputs in Python How to write a program in Python How to compare two strings in Python How to create a dictionary in Python How to create an array in Python How to update Python How to compare two lists in Python How to concatenate two strings in Python How to print pattern in Python How to check data type in python How to slice a list in python How to implement classifiers in Python How To Print Colored Text in Python How to develop a game in python How to print in same line in python How to create a class in python How to find square root in python How to import numy in python How to import pandas in python How to uninstall python How to upgrade PIP in python How to append a string in python How to open a file in python

Sorting

Python Sort List Sort Dictionary in Python Python sort() function Python Bubble Sort

Programs

Factorial Program in Python Prime Number Program in Python Fibonacci Series Program in Python Leap Year Program in Python Palindrome Program in Python Check Palindrome In Python Calculator Program in Python Armstrong Number Program in Python Python Program to add two numbers Anagram Program in Python Even Odd Program in Python GCD Program in Python Python Exit Program Python Program to check Leap Year Operator Overloading in Python Pointers in Python Python Not Equal Operator Raise Exception in Python Salary of Python Developers in India What is a Script in Python Singleton design pattern in python

Python Lexicographic Order

Python lexicographic order

Before we discuss the lexicographic order in Python, we should understandwhat is lexicographic order and sort according to lexicographic order.

Lexicographic order

In mathematics, the generalization of the alphabetical order of the dictionaries to sequences of ordered elements or, more generally, we can say that symbols of an ordered set are called the lexicographic order. Hence, lexicographic order is commonly known as dictionary order or lexical order.

Lexicographic order in Python

In Python, we sort alphabets, words, or strings according to many sorting orders to get the required sorted data in the output. We can sort all these data elements by lexicographic order as well, and we can also sort numbers & symbols with lexicographic order in Python.

In this tutorial, we will sort strings, numbers, words, and lists in lexical order. We will design a program for sorting each type and working of the program.

Sorting words in lexicographic order

As we have already mentioned that, the lexicographic order is also known as dictionary order. We will arrange words first by their first letter while sorting them according to lexicographic order. We can perform this sorting with two functions, i.e., sort() and sorted().

The only difference between these two functions is that sort() function changes the original array into a sorted array, whereas the sorted() function creates a new sorted array.

Now, look at the following examples:

Example 1: Sorting words in lexicographic order with sort() function:

 # Define an array with words
 Original_Array = ["Python", "Julia", "Go", "MATLAB", "SPSS", "R", "C"]
 # Printing original array
 print ("The original array: ",Original_Array)
 # sorting words in dictionary order
 Original_Array.sort()
 # printing original array after sorting
 print ("Sorted array: ",Original_Array) 

Output:

 The original array:  ['Python', 'Julia', 'Go', 'MATLAB', 'SPSS', 'R', 'C']
 Sorted array:  ['C', 'Go', 'Julia', 'MATLAB', 'Python', 'R', 'SPSS'] 

Example 2: Using sorted() function to sort words in lexicographic order:

 # Define an array with words
 Original_Array = ["Python", "Julia", "Go", "MATLAB", "SPSS", "R", "C"]
 # using sorted() function to sort words of array
 Sorted_Array = sorted(Original_Array)
 # printing sorted array
 print ("Sorted array: ",Sorted_Array)
 # now printing original array
 print ("The original array: ",Original_Array) 

Output:

 Sorted array:  ['C', 'Go', 'Julia', 'MATLAB', 'Python', 'R', 'SPSS']
 The original array:  ['Python', 'Julia', 'Go', 'MATLAB', 'SPSS', 'R', 'C'] 

We can see the difference in the working of both functions. When we use sorted() function, the original array remains unaffected, whereas when we are using sort() function, the original array itself changes into a sorted array.

Sorting a string with lexicographic order

In Python, sorting a string in lexicographic order is very similar to sorting words in the same order. However, when we use the lexicographic order on a string, the words present in the string changes into a dictionary or lexicographic order.

Here, we will use the split() function and then sort() function to sort the words of the string in lexicographic order and then print them in the output.

Look at the following example program:

Example – 1

 # Default lexical sorting function
 def LexicalSorting(Orig_str):
 # using split() function
     WordOfString = Orig_str.split()
 # using sort() function
     WordOfString.sort()
   # printing string in sorted words
     for a in WordOfString:
         print ( a )
 if __name__ == '__main__':
 # define a string
     Orig_str = "This is an example string to be sorted in the program"
 # Printing original string
     print ("Original string: ",Orig_str)
     # Calling out sorting function
     print ("Sorted string words: ")
     LexicalSorting(Orig_str) 

Output:

 Original string:  This is an example string to be sorted in the program
 Sorted string words:
 This
 an
 be
 example
 in
 is
 program
 sorted
 string
 the
 to 

Using lexicographic order to sort a given set of numbers

Now, we will sort a given set of numbers according to lexicographic order. If we have a given set of numbers, Let's say (1, 2, 5, 13), then it will be sorted as (1, 13, 2, 5) in lexicographic order.

In the following example, we will take lower and upper range of numbers from user and then we will sort these numbers in the lexicographical order:

 # default lexicographic sorting function
 def LexoSort(lef, righ):
     SortSet = []
     for a in range(lef, righ + 1):
         SortSet.append(str(a))
     SortSet.sort()
     answer = []
     for a in range(len(SortSet)):
         answer.append(int(SortSet[a]))
     for a in range(len(SortSet)):
         print (answer[a], end = " ") # printing sorted numbers
 if __name__ == "__main__":
     # taking ranges from user
     lef = int (input ("Enter the left range number for the range of numbers: "))
     righ = int (input ("Enter the left range number for the range of numbers: "))
     # calling out sorting function
     print ("Sorted numbers from the given range: ")
     LexoSort(lef, righ) 

Output:

 Enter the left range number for the range of numbers: 7
 Enter the left range number for the range of numbers: 31
 Sorted numbers from the given range:
 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 7 8 9 

Sorting Python lists in lexicographic order

When we use the lexicographical order on a given set of Python lists, the lists are printed sorted according to the dictionary order. Then they sort according to their length (element present in them).

We will use the following two methods to sort Python lists in lexicographic order:

Method 1: Using sort() function twice to sort lists:

 # initializing a group of lists 
 GroupofLists = [[1, 4, 3, 2, 7], [5, 4, 1, 3], [1, 4, 6, 7, 2, 6], [9, 8, 7], [1, 9, 3,.7]]
 # printing unsorted list
 print ("Unsorted lists : " + str(GroupofLists))
 # Sorting lists with sort() twice
 GroupofLists.sort()
 GroupofLists.sort(key = len)
 # printing sorted lists
 print ("Sorted lists after sorting them by dictionary order and their length " + str(GroupofLists)) 

Output:

 Unsorted lists : [[1, 4, 3, 2, 7], [5, 4, 1, 3], [1, 4, 6, 7, 2, 6], [9, 8, 7], [1, 9, 3, 0.7]]
 Sorted lists after sorting them by dictionary order and their length [[9, 8, 7], [1, 9, 3, 0.7], [5, 4, 1, 3], [1, 4, 3, 2, 7], [1, 4, 6, 7, 2, 6]] 

Method 2: Using lambda function to sort lists with lexicographic order:

 # initializing a group of lists 
 GroupofLists = [[1, 4, 3, 2, 7], [5, 4, 1, 3], [1, 4, 6, 7, 2, 6], [9, 8, 7], [1, 9, 3,.7]]
 # printing unsorted list
 print ("Unsorted lists : " + str(GroupofLists))
 # using lambda function to sort lists
 SortedLists = sorted(GroupofLists, key = lambda a: (len(a), a))
 # printing sorted lists
 print ("Sorted lists after sorting them by dictionary order and their length " + str(SortedLists)) 

Output:

 Unsorted lists : [[1, 4, 3, 2, 7], [5, 4, 1, 3], [1, 4, 6, 7, 2, 6], [9, 8, 7], [1, 9, 3, 0.7]]
 Sorted lists after sorting them by dictionary order and their length [[9, 8, 7], [1, 9, 3, 0.7], [5, 4, 1, 3], [1, 4, 3, 2, 7], [1, 4, 6, 7, 2, 6]] 



ADVERTISEMENT
ADVERTISEMENT