Skip to content
geeksforgeeks
  • Tutorials
    • Python
    • Java
    • Data Structures & Algorithms
    • ML & Data Science
    • Interview Corner
    • Programming Languages
    • Web Development
    • CS Subjects
    • DevOps And Linux
    • School Learning
    • Practice Coding Problems
  • Courses
    • DSA to Development
    • Get IBM Certification
    • Newly Launched!
      • Master Django Framework
      • Become AWS Certified
    • For Working Professionals
      • Interview 101: DSA & System Design
      • Data Science Training Program
      • JAVA Backend Development (Live)
      • DevOps Engineering (LIVE)
      • Data Structures & Algorithms in Python
    • For Students
      • Placement Preparation Course
      • Data Science (Live)
      • Data Structure & Algorithm-Self Paced (C++/JAVA)
      • Master Competitive Programming (Live)
      • Full Stack Development with React & Node JS (Live)
    • Full Stack Development
    • Data Science Program
    • All Courses
  • Python Tutorial
  • Interview Questions
  • Python Quiz
  • Python Glossary
  • Python Projects
  • Practice Python
  • Data Science With Python
  • Python Web Dev
  • DSA with Python
  • Python OOPs
Open In App
Next Article:
Largest Number Possible from List of Given Numbers - Python
Next article icon

Largest Number Possible from List of Given Numbers - Python

Last Updated : 17 Jan, 2025
Comments
Improve
Suggest changes
Like Article
Like
Report

To find the largest number possible from a list of given numbers, we arrange the elements in such a way that their concatenation forms the largest possible number. This involves comparing the numbers based on how their string representations concatenate with each other. By sorting the numbers accordingly and then joining them, we can achieve the desired result.

Using sorted()

sorted() allows us to sort the list based on a custom key. By converting the numbers to strings, we can concatenate them in two orders and choose the order that produces the largest result.

Python
from functools import cmp_to_key li= [23, 65, 98, 3, 4]  # largest possible number in list  res = sorted(li, key = cmp_to_key(lambda i, j: -1                  if str(j) + str(i) < str(i) + str(j) else 1)) print (''.join(map(str,res))) 

Output
98654323 

Explanation:

  • cmp_to_key() converts the comparison function to a key for sorting.
  • Lambda function checks if str(j) + str(i) is smaller than str(i) + str(j). If true, i comes before j.
  • sorted() sorts the numbers based on this custom logic.
  • ''.join() concatenates the sorted numbers into a string.

Table of Content

  • Using itertools.permutation()
  • Using functools
  • Using reduce()

Using itertools.permutation()

In this approach, we generate all possible permutations of the numbers, join each permutation to form a number, and then choose the maximum of these numbers.

Python
from itertools import permutations li = [23, 65, 98, 3, 4]  res = int(max((''.join(i) for i in permutations(str(i) for i in li)), key = int)) print (str(res)) 

Output
98654323 

Explanation:

  • permutations(str(i) for i in li) creates all permutations of the digits of each number.
  • ''.join(i) combines the digits in each permutation to form a number.
  • max(..., key=int) selects the largest number by comparing the integer values of the permutations.
  • int() converts the result to an integer

Using functools

In this method, we define a custom comparison function that compares two numbers based on their concatenated value in both possible orders. sorted() function then uses this comparison function to sort the list in descending order.

Python
from functools import cmp_to_key li = [23, 65, 98, 3, 4]   # custom comparison function def compare(a, b):     ab = int(str(a) + str(b))     ba = int(str(b) + str(a))     if ab > ba:         return -1     elif ab < ba:         return 1     else:         return 0    res = sorted(li, key=cmp_to_key(compare)) print (''.join(map(str,res))) 

Output
98654323 

Explanation:

  • compare(a, b)concatenates a and b in both orders, then compares them.
  • sorted(li, key=cmp_to_key(compare)) sorts the list using the custom comparison.
  • ''.join(map(str, res)) concatenates the sorted numbers into a single string.

Using reduce()

This method combines the power of reduce() and a custom lambda function to perform the task in a concise manner. It sorts the numbers in descending order and then concatenates them using reduce().

Python
from functools import reduce  li = [23, 65, 98, 3, 4]  # combining the sorted elements into a single number using reduce() and lambda function res = int(reduce(lambda x, y: x + y, map(str, sorted(li, key=lambda x: int(str(x)[0]), reverse=True)))) print(res) 

Output
98654323 

Explanation:

  • str(x)[0] converts each number to a string and takes the first digit.
  • key=lambda x: int(str(x)[0]) sorts the list li based on the first digit of each number.
  • map(str, ...) converts the sorted numbers to strings so they can be concatenated.
  • reduce(lambda x, y: x + y, ...) combines the sorted strings into a single string by concatenating them.
  • int(...) converts the concatenated string into an integer.
  • reverse=True sorts the numbers in descending order based on the first digit.

Next Article
Largest Number Possible from List of Given Numbers - Python

M

manjeet_04
Improve
Article Tags :
  • Python
  • Python Programs
  • python-list
  • Python list-programs
Practice Tags :
  • python
  • python-list

Similar Reads

    Python Program to Find Largest Number in a List
    Finding the largest number in a list is a common task in Python. There are multiple way to do but the simplest way to find the largest in a list is by using Python's built-in max() function:Using max()Python provides a built-in max() function that returns the largest item in a list or any iterable.
    3 min read
    Position of maximum and minimum element in a list - Python
    In Python, lists are one of the most common data structures we use to store multiple items. Sometimes we need to find the position or index of the maximum and minimum values in the list. For example, consider the list li = [3, 5, 7, 2, 8, 1].The maximum element is 8, and its index is 4.The minimum e
    3 min read
    Python | Indices of N largest elements in list
    Sometimes, while working with Python lists, we can have a problem in which we wish to find N largest elements. This task can occur in many domains such as web development and while working with Databases. We might sometimes, require to just find the indices of them. Let's discuss a certain way to fi
    5 min read
    Python - Smallest integer possible from combination of list elements
    Given a list of integers, the task is to get smallest integer possible from the combination of list elements. This is one of the problems that is essential in a competitive point of view and this article discusses various shorthands to solve this problem in Python. Let’s discuss certain ways in whic
    4 min read
    Python Program to Print Largest Even and Largest Odd Number in a List
    Auxiliary Given a list. The task is to print the largest even and largest odd number in a list. Examples: Input: 1 3 5 8 6 10 Output: Largest even number is 10 Largest odd number is 5 Input: 123 234 236 694 809 Output: Largest odd number is 809 Largest even number is 694 The first approach uses two
    7 min read
geeksforgeeks-footer-logo
Corporate & Communications Address:
A-143, 7th Floor, Sovereign Corporate Tower, Sector- 136, Noida, Uttar Pradesh (201305)
Registered Address:
K 061, Tower K, Gulshan Vivante Apartment, Sector 137, Noida, Gautam Buddh Nagar, Uttar Pradesh, 201305
GFG App on Play Store GFG App on App Store
Advertise with us
  • Company
  • About Us
  • Legal
  • Privacy Policy
  • In Media
  • Contact Us
  • Advertise with us
  • GFG Corporate Solution
  • Placement Training Program
  • Languages
  • Python
  • Java
  • C++
  • PHP
  • GoLang
  • SQL
  • R Language
  • Android Tutorial
  • Tutorials Archive
  • DSA
  • Data Structures
  • Algorithms
  • DSA for Beginners
  • Basic DSA Problems
  • DSA Roadmap
  • Top 100 DSA Interview Problems
  • DSA Roadmap by Sandeep Jain
  • All Cheat Sheets
  • Data Science & ML
  • Data Science With Python
  • Data Science For Beginner
  • Machine Learning
  • ML Maths
  • Data Visualisation
  • Pandas
  • NumPy
  • NLP
  • Deep Learning
  • Web Technologies
  • HTML
  • CSS
  • JavaScript
  • TypeScript
  • ReactJS
  • NextJS
  • Bootstrap
  • Web Design
  • Python Tutorial
  • Python Programming Examples
  • Python Projects
  • Python Tkinter
  • Python Web Scraping
  • OpenCV Tutorial
  • Python Interview Question
  • Django
  • Computer Science
  • Operating Systems
  • Computer Network
  • Database Management System
  • Software Engineering
  • Digital Logic Design
  • Engineering Maths
  • Software Development
  • Software Testing
  • DevOps
  • Git
  • Linux
  • AWS
  • Docker
  • Kubernetes
  • Azure
  • GCP
  • DevOps Roadmap
  • System Design
  • High Level Design
  • Low Level Design
  • UML Diagrams
  • Interview Guide
  • Design Patterns
  • OOAD
  • System Design Bootcamp
  • Interview Questions
  • Inteview Preparation
  • Competitive Programming
  • Top DS or Algo for CP
  • Company-Wise Recruitment Process
  • Company-Wise Preparation
  • Aptitude Preparation
  • Puzzles
  • School Subjects
  • Mathematics
  • Physics
  • Chemistry
  • Biology
  • Social Science
  • English Grammar
  • Commerce
  • World GK
  • GeeksforGeeks Videos
  • DSA
  • Python
  • Java
  • C++
  • Web Development
  • Data Science
  • CS Subjects
@GeeksforGeeks, Sanchhaya Education Private Limited, All rights reserved
We use cookies to ensure you have the best browsing experience on our website. By using our site, you acknowledge that you have read and understood our Cookie Policy & Privacy Policy
Lightbox
Improvement
Suggest Changes
Help us improve. Share your suggestions to enhance the article. Contribute your expertise and make a difference in the GeeksforGeeks portal.
geeksforgeeks-suggest-icon
Create Improvement
Enhance the article with your expertise. Contribute to the GeeksforGeeks community and help create better learning resources for all.
geeksforgeeks-improvement-icon
Suggest Changes
min 4 words, max Words Limit:1000

Thank You!

Your suggestions are valuable to us.

What kind of Experience do you want to share?

Interview Experiences
Admission Experiences
Career Journeys
Work Experiences
Campus Experiences
Competitive Exam Experiences