


Inventory of advanced usage of Python built-in function sorted()
1. Preface
A few days ago in the Python diamond exchange group, a fan named [emerson] asked a question about Python sorting. I will share it with you and learn together.
In fact, [Teacher Yu Liang], [Eternity in Budapest] and others have talked a lot here, but it is still a bit confusing for friends who are not very good at basics. hard. However, the built-in function sorted() is still used a lot in practical applications. I will talk about it here separately. I hope that next time friends encounter it, they will not panic.
2. Basic Usage
The built-in function sorted() can be used for sorting. The basic usage is very simple. Take an example, as shown below.
lst = [3, 28, 18, 29, 2, 5, 88]result = sorted(lst)print(result)
Program running After that, you can see that the list is sorted in ascending order from small to large.
If you want it to be sorted in reverse order, it is also very simple, just add a reverse parameter.
lst = [3, 28, 18, 29, 2, 5, 88]result = sorted(lst, reverse=True)print(result)
3. Advanced Usage
The list (iterator) we encountered above is a very simple numeric type. If we encounter a more complex iterator and need to sort it, such as the following example , as follows:
lst = [ {"id": 1, "name": "Luban", "age": 18}, {"id": 2, "name": "Master Luban", "age": 26}, {"id": 3, "name": "Master Lu", "age": 23}, {"id": 4, "name": "Di Renjie", "age": 48 }]# Sort heroes according to age, in ascending order
If you want to sort an iterator or iterable object like this, you need to use a custom method to sort it. This can also be done using the built-in function sorted(). The usage of sorted() is as follows.
It has three parameters in total. The first parameter is an iterable object, such as a list, dictionary, set, etc.; the second parameter refers to the sorting rule (sort function), inside sorted(), each element in the iterable object will be passed to the parameter of this function, and sorted according to the result of the function operation; the third parameter is reverse, if it is True, it means reverse order, if it is False, then Indicates positive sequence.
Then for this question, you can use the following code to sort:
sorted(lst, key=lambda x: x.get('age'))
The key is a self-defined anonymous function used to specify the sorting rules. Here, it is taken from the dictionary age, and then sort according to the age size, so the result is as shown in the figure below.
What should I do if I want to remove a hero who is older than 28?
This is an extension, it is also possible Use built-in functions to do it, except that the built-in function used here is filter(). The code is as follows:
list(filter(lambda x: x['age'] >= 28, lst))
Extras
Recently, many friends are asking about knowledge points about deep and shallow copying of Python. I compiled a piece of information yesterday and share it with you. I am often asked about it during interview questions, so let’s encourage each other.
3. Summary
Hello everyone, I am a Python advanced user. This article mainly shares the sorting problem of Python's built-in function sorted(), and provides specific analysis and code demonstrations to help fans solve the problem smoothly.
The above is the detailed content of Inventory of advanced usage of Python built-in function sorted(). For more information, please follow other related articles on the PHP Chinese website!

Python is an interpreted language, but it also includes the compilation process. 1) Python code is first compiled into bytecode. 2) Bytecode is interpreted and executed by Python virtual machine. 3) This hybrid mechanism makes Python both flexible and efficient, but not as fast as a fully compiled language.

Useaforloopwheniteratingoverasequenceorforaspecificnumberoftimes;useawhileloopwhencontinuinguntilaconditionismet.Forloopsareidealforknownsequences,whilewhileloopssuitsituationswithundeterminediterations.

Pythonloopscanleadtoerrorslikeinfiniteloops,modifyinglistsduringiteration,off-by-oneerrors,zero-indexingissues,andnestedloopinefficiencies.Toavoidthese:1)Use'i

Forloopsareadvantageousforknowniterationsandsequences,offeringsimplicityandreadability;whileloopsareidealfordynamicconditionsandunknowniterations,providingcontrolovertermination.1)Forloopsareperfectforiteratingoverlists,tuples,orstrings,directlyacces

Pythonusesahybridmodelofcompilationandinterpretation:1)ThePythoninterpretercompilessourcecodeintoplatform-independentbytecode.2)ThePythonVirtualMachine(PVM)thenexecutesthisbytecode,balancingeaseofusewithperformance.

Pythonisbothinterpretedandcompiled.1)It'scompiledtobytecodeforportabilityacrossplatforms.2)Thebytecodeistheninterpreted,allowingfordynamictypingandrapiddevelopment,thoughitmaybeslowerthanfullycompiledlanguages.

Forloopsareidealwhenyouknowthenumberofiterationsinadvance,whilewhileloopsarebetterforsituationswhereyouneedtoloopuntilaconditionismet.Forloopsaremoreefficientandreadable,suitableforiteratingoversequences,whereaswhileloopsoffermorecontrolandareusefulf

Forloopsareusedwhenthenumberofiterationsisknowninadvance,whilewhileloopsareusedwhentheiterationsdependonacondition.1)Forloopsareidealforiteratingoversequenceslikelistsorarrays.2)Whileloopsaresuitableforscenarioswheretheloopcontinuesuntilaspecificcond


Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

PhpStorm Mac version
The latest (2018.2.1) professional PHP integrated development tool

DVWA
Damn Vulnerable Web App (DVWA) is a PHP/MySQL web application that is very vulnerable. Its main goals are to be an aid for security professionals to test their skills and tools in a legal environment, to help web developers better understand the process of securing web applications, and to help teachers/students teach/learn in a classroom environment Web application security. The goal of DVWA is to practice some of the most common web vulnerabilities through a simple and straightforward interface, with varying degrees of difficulty. Please note that this software

SublimeText3 Chinese version
Chinese version, very easy to use

SecLists
SecLists is the ultimate security tester's companion. It is a collection of various types of lists that are frequently used during security assessments, all in one place. SecLists helps make security testing more efficient and productive by conveniently providing all the lists a security tester might need. List types include usernames, passwords, URLs, fuzzing payloads, sensitive data patterns, web shells, and more. The tester can simply pull this repository onto a new test machine and he will have access to every type of list he needs.

Dreamweaver Mac version
Visual web development tools
