Python has some very clever and powerful built-in functions, which are generally not used by beginners. I only discovered after using Python for a while, wow, there are such good functions. These functions are classic and After rigorous testing, it can save you a lot of things at once. The code is not only simpler and easier to read, but also you don’t have to build it behind closed doors. It not only makes it easier for you but also reduces bugs.
1) Sorting a list
sorted([100, 98, 102, 1, 40]) >>>[1, 40, 98, 100, 102]
2) Through key parameters/functions
For example, there are many dictionary elements nested in a long list. We need to sort according to the length of each element
L = [{1:5,3:4},{1:3,6:3},{1:1,2:4,5:6},{1:9}] new_line=sorted(L,key=lambda x:len(x)) print(new_line) >>>[{1: 9}, {1: 5, 3: 4}, {1: 3, 6: 3}, {1: 1, 2: 4, 5: 6}]
3) Sort the List composed of tuples
For example, the following is a list of the ages of students
students = [('wang', 'A', 15), ('li', 'B', 12), ('zhang', 'B', 10)] print(sorted(students, key=lambda student : student[2])) >>>[('zhang', 'B', 10), ('li', 'B', 12), ('wang', 'A', 15)]
4) Use cmp function to sort
students = [('wang', 'A', 15), ('li', 'B', 12), ('zhang', 'B', 10)] print(sorted(students, cmp=lambda x,y : cmp(x[0], y[0])) ) >>>[('li', 'B', 12), ('wang', 'A', 15), ('zhang', 'B', 10)]
In fact, we need to talk about Python's sorting in detail. It requires a whole article to talk about its sorting algorithm. There is a lot of content. If you are interested, you can take a look at the source code to see how it is designed. I just click here first.
map can map a specified sequence according to the provided function. It accepts a function f and a list, and applies the function f to each element of the list, and then returns a new list. The input parameters of the map function are also It can be multiple. Note that this function must have a return value (the value is important three times).
Otherwise, a new list will be returned, similar to [None, None, None, None, None, None, None, None, None]
The suitable scenario is that some elements in the list require repeated operations, which can be easily done with map.
In Python, iteration always takes out the element itself, not the index of the element. Sometimes we need to know the index of the element. For example, there are some website names in a long list. We hope that the index can also be listed when printing. . If there is no such function, we need to add a variable and increment the counting variable when printing in the loop. Now that we have enumerate, we don’t have to go to such trouble and we can do it directly.
The zip function accepts any number of sequences (including 0 and 1) as parameters and returns a tuple list
x = [1, 2, 3] y = [4, 5, 6] z = [7, 8, 9] xyz = zip(x, y, z) >>print xyz
This function is very convenient especially when building dictionary sequences (this trick is very clever, you can figure it out carefully)
The filter function accepts a function f and a list. The function of this function f is to judge each element and return True or False. This can filter out some elements that do not meet the conditions, and then return a list that meets the conditions.
def is_even(x): return x%2==0 print(filter(is_even,[1,2,3,4,5])) >>>[2, 4]
Especially when processing files, you need to remove some spaces, carriage returns and empty characters
The usage of the reduce function is very similar to that of map. It is also a function f and a list, but the entry parameters of the function must be two. Reduce also calls each element repeatedly and finally returns the final value, while map returns a list
Note that reduce has been removed from the global function in python3. If you need to use it, you must from functools import reduce
The above is the detailed content of Built-in functions that all Python masters know. For more information, please follow other related articles on the PHP Chinese website!