매우 사용하기 쉬운 6가지 Python 내장 함수 소개

WBOY
풀어 주다: 2022-06-15 21:14:50
앞으로
1952명이 탐색했습니다.

이 글에서는 python에 대한 관련 지식을 제공하며, 내장 함수와 관련된 문제를 주로 소개합니다. 주로 Lambda, map, Reduce, zip, filter, enumerate 등 매우 사용하기 쉬운 6가지 함수를 살펴봅니다. 기능을 살펴보겠습니다. 모두에게 도움이 되기를 바랍니다.

매우 사용하기 쉬운 6가지 Python 내장 함수 소개

추천 학습: python 동영상 튜토리얼

Lambda 함수

Lambda 함수는 익명 함수, 즉 이름이 없는 함수를 만드는 데 사용됩니다. 이는 단지 표현식일 뿐이며 함수 본문은 def보다 훨씬 간단합니다. 익명 함수는 단일 작업을 수행하고 한 줄에 작성할 수 있는 함수를 만들어야 할 때 사용됩니다. Lambda函数用于创建匿名函数,即没有名称的函数。它只是一个表达式,函数体比def简单很多。当我们需要创建一个函数来执行单个操作并且可以在一行中编写时,就可以用到匿名函数了。

lambda [arg1 [,arg2,.....argn]]:expression
로그인 후 복사

lambda的主体是一个表达式,而不是一个代码块。仅仅能在lambda表达式中封装有限的逻辑进去。例如:

lambda x: x+2
로그인 후 복사

如果我们也想像def定义的函数随时调用,可以将lambda函数分配给这样的函数对象。

add2 = lambda x: x+2add2(10)
로그인 후 복사

输出结果:

매우 사용하기 쉬운 6가지 Python 내장 함수 소개

利用Lambda函数,可以将代码简化很多,具体再举个例子。

매우 사용하기 쉬운 6가지 Python 내장 함수 소개

如上图所示,结果列表newlist是使用lambda函数用一行代码生成的。

Map 函数

map()函数会将一个函数映射到一个输入列表的所有元素上。

map(function,iterable)
로그인 후 복사

比如我们先创建了一个函数来返回一个大写的输入单词,然后将此函数应有到列表colors中的所有元素。

def makeupper(word):
    return word.upper()colors=['red','yellow','green','black']colors_uppercase=list(map(makeupper,colors))colors_uppercase
로그인 후 복사

此外,我们还可以使用匿名函数lambda来配合map函数,这样可以更加精简。

colors=['red','yellow','green','black']colors_uppercase=list(map(lambda x: x.upper(),colors))colors_uppercase
로그인 후 복사

如果我们不用Map函数的话,就需要使用for循环。

매우 사용하기 쉬운 6가지 Python 내장 함수 소개

如上图所示,在实际使用中Map函数会比for循环依次列表元素的方法快1.5倍

Reduce函数

当需要对一个列表进行一些计算并返回结果时,reduce()是个非常有用的函数。举个例子,当需要计算一个整数列表所有元素的乘积时,即可使用reduce函数实现。[1]

它与函数的最大的区别就是,reduce()里的映射函数(function)接收两个参数,而map接收一个参数。

reduce(function, iterable[, initializer])
로그인 후 복사

接下来我们用实例来演示reduce()的代码执行过程。

from functools import reducedef add(x, y) :   # 两数相加
    return x + y
numbers = [1,2,3,4,5]sum1 = reduce(add, numbers)   # 计算列表和
로그인 후 복사

得到结果sum1 = 15

我们会看到,reduce将一个相加函数add()作用在一个列表[1,2,3,4,5]上,映射函数接收了两个参数,reduce()把结果继续和列表的下一个元素做累加计算

此外,我们同样可以使用匿名函数lambda来配合reduce函数,这样可以更加精简。

from functools import reducenumbers = [1,2,3,4,5]sum2 = reduce(lambda x, y: x+y, numbers)
로그인 후 복사

得到输出sum2= 15,与之前结果保持一致。

需要注意:Python3.x开始reduce()已经被移到functools模块里[2],如果我们要使用,需要用from functools import reduce导入.

enumerate 函数

enumerate()函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在for循环当中。它的语法如下所示:

enumerate(iterable, start=0)
로그인 후 복사

它的两个参数,一个是序列、迭代器或其他支持迭代对象;另一个是下标起始位置,默认情况从0开始,也可以自定义计数器的起始编号。

colors = ['red', 'yellow', 'green', 'black']result = enumerate(colors)
로그인 후 복사

如果我们有一个存放colors的颜色列表,运行后就会得到一个enumerate(枚举) 对象。它可以直接在for循环中使用,也可以转换为列表,具体用法如下所示。

for count, element in result:
    print(f"迭代编号:{count},对应元素:{element}")
로그인 후 복사

매우 사용하기 쉬운 6가지 Python 내장 함수 소개

Zip 函数

zip()函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表[3]。

我们还是用两个列表作为例子演示:

colors = ['red', 'yellow', 'green', 'black']fruits = ['apple', 'pineapple', 'grapes', 'cherry']for item in zip(colors,fruits):
    print(item)
로그인 후 복사

输出结果:

매우 사용하기 쉬운 6가지 Python 내장 함수 소개

当我们使用zip()

prices =[100,50,120]for item in zip(colors,fruits,prices):
    print(item)
로그인 후 복사
람다의 본문은 코드 블록이 아니라 표현식입니다. 제한된 논리만 람다 식으로 캡슐화할 수 있습니다. 예를 들면 다음과 같습니다.

filter(function, iterable)
로그인 후 복사
로그인 후 복사
매우 사용하기 쉬운 6가지 Python 내장 함수 소개def에 의해 정의된 함수를 언제든지 호출하려면 해당 함수 개체에 lambda 함수를 할당할 수 있습니다.
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 내장 함수 소개🎜🎜사용Lambda 함수는 코드를 훨씬 단순화할 수 있습니다. 🎜🎜매우 사용하기 쉬운 6가지 Python 내장 함수 소개🎜🎜위 매우 사용하기 쉬운 6가지 Python 내장 함수 소개과 같이, 결과 목록newlist는 람다 함수를 사용하여 한 줄의 코드로 생성됩니다. 🎜🎜Map 함수🎜🎜map()이 함수는 함수를 입력 목록의 모든 요소에 매핑합니다. 🎜rrreee🎜예를 들어, 먼저 대문자 입력 단어를 반환하는 함수를 만든 다음 이 함수를 colors 목록의 모든 요소에 적용합니다. 🎜rrreee🎜또한 익명 함수 람다를 사용하여 지도 기능과 협력할 수도 있어 더욱 간소화될 수 있습니다. 🎜rrreee🎜Map 함수를 사용하지 않으면 for 루프를 사용해야 합니다. 🎜🎜매우 사용하기 쉬운 6가지 Python 내장 함수 소개🎜🎜위 매우 사용하기 쉬운 6가지 Python 내장 함수 소개과 같이, 실제 사용 Map 함수는 요소를 순차적으로 나열하는 for 루프 방식보다 1.5배 빠릅니다. 🎜🎜Reduce 함수🎜🎜목록에서 일부 계산을 수행하고 결과를 반환해야 할 때 reduce()는 매우 유용한 함수입니다. 예를 들어, 정수 목록의 모든 요소의 곱을 계산해야 하는 경우 감소 함수를 사용할 수 있습니다. [1]🎜🎜함수와 가장 큰 차이점은 reduce()의 매핑 함수(function)는 두 개의 매개변수를 받는 반면, map은 하나의 매개변수를 받는다는 것입니다. 🎜rrreee🎜다음으로 예제를 사용하여 reduce()의 코드 실행 프로세스를 보여줍니다. 🎜rrreee🎜결과 sum1 = 15 가져오기🎜🎜reduce가 목록 [1,2,3,4,5]에 추가 함수 add()를 적용하는 것을 볼 수 있습니다. ], 매핑 함수는 reduce()라는 두 개의 매개변수를 수신하고목록의 다음 요소에 대한 결과를 계속해서 누적합니다. 🎜🎜또한 익명 함수 람다를 사용하여 축소 기능과 협력할 수도 있어 더욱 간소화될 수 있습니다. 🎜rrreee🎜이전 결과와 일치하는 sum2= 15 출력을 가져옵니다. 🎜
🎜참고: Python 3.x부터 reduce()가 functools 모듈[2]로 이동되었습니다. 이를 사용하려면 from을 사용해야 합니다. functools import ReduceImport.🎜
🎜enumerate function🎜🎜enumerate()이 함수는 순회 가능한 데이터 객체(예: 목록, 튜플 또는 문자열)를 다음과 같이 결합하는 데 사용됩니다. 인덱스 시퀀스, List 데이터 및 데이터 첨자, 일반적으로 for 루프에 사용됩니다. 구문은 다음과 같습니다: 🎜rrreee🎜 두 개의 매개변수 중 하나는 시퀀스, 반복자 또는 반복을 지원하는 기타 객체입니다. 다른 하나는 기본적으로 0부터 시작하는 첨자의 시작 위치입니다. 카운터 시작 번호. 🎜rrreee🎜색상을 저장하는 색상 목록이 있는 경우 이를 실행한 후 열거 객체를 얻습니다. for 루프에서 직접 사용하거나 목록으로 변환할 수 있습니다. 🎜rrreee🎜매우 사용하기 쉬운 6가지 Python 내장 함수 소개🎜🎜Zip 기능🎜🎜 zip() 함수는 반복 가능한 객체를 매개변수로 취하고 객체의 해당 요소를 튜플로 묶은 다음 이러한 튜플로 구성된 목록을 반환하는 데 사용됩니다[3]. 🎜🎜우리는 여전히 두 개의 목록을 예시로 사용하여 설명합니다. 🎜rrreee🎜출력 결과: 🎜🎜매우 사용하기 쉬운 6가지 Python 내장 함수 소개🎜🎜 zip() 함수를 사용할 때 각 반복자의 요소 수가 일치하지 않으면 반환되는 목록의 길이는 가장 짧은 목록의 길이와 동일합니다. 물체. 🎜rrreee🎜🎜🎜

Filter 函数

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 내장 함수 소개


今天分享的这6个内置函数,在使用 Python 进行数据分析或者其他复杂的自动化任务时非常方便。

推荐学习:python视频教程

위 내용은 매우 사용하기 쉬운 6가지 Python 내장 함수 소개의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:csdn.net
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!