This article brings you relevant knowledge aboutpython, which mainly introduces related issues about built-in functions. It mainly introduces six super easy-to-use functions, including Lambda, map , reduce, zip, filter, and enumerate functions. Let’s take a look at them together. I hope it will be helpful to everyone.
Recommended learning:python video tutorial
Lambda
Function usage Used to create anonymous functions, i.e. functions without names. It is just an expression, and the function body is much simpler than def. Anonymous functions are used when we need to create a function that performs a single operation and can be written in one line.
lambda [arg1 [,arg2,.....argn]]:expression
The body of lambda is an expression, not a code block. Only limited logic can be encapsulated in lambda expressions. For example:
lambda x: x+2
If we also want to call the function defined by def at any time, we can assignlambda function
to such a function object.
add2 = lambda x: x+2add2(10)
Output result:
Using theLambda
function, the code can be simplified a lot. Here is another example.
As shown in the figure above, the result listnewlist
is generated with one line of code using the lambda function.
map()
The function maps a function to all elements of an input list.
map(function,iterable)
For example, we first create a function to return an uppercase input word, and then apply this function to all elements in the listcolors
.
def makeupper(word): return word.upper()colors=['red','yellow','green','black']colors_uppercase=list(map(makeupper,colors))colors_uppercase
In addition, we can also useanonymous function lambda
to cooperate with the map function, which can be more streamlined.
colors=['red','yellow','green','black']colors_uppercase=list(map(lambda x: x.upper(),colors))colors_uppercase
If we don’t use the Map function, we need to use a for loop.
As shown in the figure above, in actual use, theMap function will be 1.5 times faster than the for loop method of sequentially listing elements.
reduce()
is a very useful function when you need to perform some calculations on a list and return the result. For example, when you need to calculate the product of all elements of a list of integers, you can use the reduce function. [1]
The biggest difference between it and the function is that the mapping function (function) inreduce()
receives two parameters, while map receives one parameter.
reduce(function, iterable[, initializer])
Next we use an example to demonstrate the code execution process ofreduce()
.
from functools import reducedef add(x, y) : # 两数相加 return x + y numbers = [1,2,3,4,5]sum1 = reduce(add, numbers) # 计算列表和
Get the resultsum1 = 15
We will see that reduce applies an addition functionadd()
to a list [1 ,2,3,4,5], the mapping function receives two parameters,reduce()
The result continues to be accumulated with the next element of the list.
In addition, we can also useanonymous function lambda
to cooperate with the reduce function, which can be more streamlined.
from functools import reducenumbers = [1,2,3,4,5]sum2 = reduce(lambda x, y: x+y, numbers)
Get the outputsum2= 15
, which is consistent with the previous result.
Note: Starting from Python 3.x,
reduce()
has been moved to the functools module [2]. If we want to use it, we need to usefrom functools import reduce
Import.
enumerate()
The function is used to convert a traversable data object (such as a list, tuple or string ) are combined into an index sequence, listing data and data subscripts at the same time, generally used in for loops. Its syntax is as follows:
enumerate(iterable, start=0)
Its two parameters, one is a sequence, iterator or other object that supports iteration; the other is the starting position of the subscript, which starts from 0 by default, and can also be used since Defines the starting number of the counter.
colors = ['red', 'yellow', 'green', 'black']result = enumerate(colors)
If we have a color list that stores colors, we will get an enumerate object after running it. It can be used directly in a for loop or converted to a list. The specific usage is as follows.
for count, element in result: print(f"迭代编号:{count},对应元素:{element}")
zip()
The function is used to take an iterable object as a parameter and add the corresponding elements in the object Pack it into tuples and return a list consisting of these tuples [3].
We still use two lists as an example demonstration:
colors = ['red', 'yellow', 'green', 'black']fruits = ['apple', 'pineapple', 'grapes', 'cherry']for item in zip(colors,fruits): print(item)
Output result:
When we usezip()
function, if the number of elements of each iterator is inconsistent, the length of the returned list is the same as the shortest object.
prices =[100,50,120]for item in zip(colors,fruits,prices): print(item)
filter()
函数用于过滤序列,过滤掉不符合条件的元素,返回由符合条件元素组成的新列表,其语法如下所示[4]。
filter(function, iterable)
比如举个例子,我们可以先创建一个函数来检查单词是否为大写,然后使用filter()
函数过滤出列表中的所有奇数:
def is_odd(n): return n % 2 == 1old_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] new_list = filter(is_odd, old_list)print(newlist)
输出结果:
今天分享的这6个内置函数,在使用 Python 进行数据分析或者其他复杂的自动化任务时非常方便。
推荐学习:python视频教程
The above is the detailed content of Introducing six super easy-to-use Python built-in functions. For more information, please follow other related articles on the PHP Chinese website!