이 글은 Python에서 일반적으로 사용되는 5가지 내장 고차 함수(코드 포함)를 소개합니다. 도움이 필요한 친구들이 참고할 수 있기를 바랍니다.
Python에는 일반적으로 사용되는 고차 함수가 내장되어 있습니다.
1. 함수형 프로그래밍
함수 자체는 변수에 할당될 수 있으며 할당 후 변수는 함수가 됩니다.
함수 자체가 다음을 수행할 수 있습니다. 매개변수로 다른 함수에 전달됩니다.
허용합니다. 함수를 반환합니다.
1. map() 함수
는 Python에 내장된 고차 함수입니다.
함수 f를 목록의 각 요소에 적용합니다. 새로운 목록을 얻고
def add(x): return x+x print(map(add,[1, 2, 3])) # Out:<map object at 0x00000239E833DE48> print(list(map(add,[1, 2, 3]))) # Out:[2, 4, 6]
2를 반환합니다. reduce() 함수
reduce() 함수도 Python에 내장된 고차 함수입니다.
reduce() 함수가 받은 매개변수는 map(), 함수 f 및 목록과 유사하지만, 행위가 map()과 다릅니다. Reduce()가 전달한 함수 f는 두 개의 매개변수
를 받아야 합니다.reduce() 함수 f는 목록의 각 요소에 대해 반복적으로 호출되고 최종 결과 값이 반환됩니다.
Python3에서는 전역 네임스페이스에서 감소() 함수가 제거되었습니다. 이제 functools 모듈에 배치되었습니다. 이를 사용하려면
functools 모듈을 도입하여 감소() 함수를 호출해야 합니다. :
from functools import reduce def prod(x, y): return x*y print(reduce(prod, [2, 4, 5, 7, 12])) # Out:3360 # 2*4*5*7*12 # reduce()还可以接收第3个可选参数,作为计算的初始值。如果把初始值设为100 print(reduce(prod, [2, 4, 5, 7, 12], 100)) # Out:336000 # 2*4*5*7*12*100
3, filter() 함수
는 Python에 내장된 또 다른 유용한 고차 함수입니다. filter() 함수는 함수 f와 목록을 받습니다. 각 요소를 판단하고, 필터()는 판단 결과에 따라 조건에 맞지 않는 요소를 자동으로 필터링합니다.
조건에 맞는 요소로 구성된 새 목록을 반환합니다.
import math def is_sqr(x): return math.sqrt(x) == int(math.sqrt(x)) print(list(filter(is_sqr, range(1, 101)))) # Out:[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
4,
sorted() 함수 는 모든 반복 가능한 객체에 대해 정렬 작업을 수행합니다.
sort와 sorted의 차이점:
sort는 목록에 적용되는 방법이며 sorted는 반복 가능한 모든 개체를 정렬할 수 있습니다.
list의 정렬 메서드는 기존 목록에 대한 작업을 반환하는 반면, 내장 함수 sorted 메서드는 원래 목록을 기반으로 한 작업이 아닌 새 목록을 반환합니다.
sorted(iterable, key=None, reverse=False)
iterable -- 반복 가능한 개체입니다.
key - 매개변수가 하나뿐인 비교 요소에 주로 사용됩니다. 특정 함수 매개변수는 반복 가능한 객체에서 가져오고 정렬을 위해 반복 가능한 객체에 요소를 지정합니다.
reverse -- 정렬 규칙, reverse = 내림차순이면 True, 오름차순이면 reverse = False(기본값).
재정렬된 목록 반환
print(sorted([5, 2, 3, 1, 4])) # Out:[1, 2, 3, 4, 5] print(sorted({1:'D', 2:'B', 3:'B', 4:'E', 5: 'A'})) # Out:[1, 2, 3, 4, 5]
키를 사용하여 역순으로 정렬
example_list = [5, 0, 6, 1, 2, 7, 3, 4] result_list = sorted(example_list, key=lambda x: x*-1) print(result_list)
역 정렬하려면 세 번째 매개변수 reverse=True:
example_list = [5, 0, 6, 1, 2, 7, 3, 4] print(sorted(example_list, reverse=True)) # Out:[7, 6, 5, 4, 3, 2, 1, 0]
5를 전달할 수도 있습니다. Python 함수는 데이터를 반환할 수 있을 뿐만 아니라 int, str, list, dict 등과 같은 유형을 사용할 수 있으며 함수를 반환할 수도 있습니다!
반환 함수와 반환 값을 구별하는 데 주의하세요:
def my_abs(): return abs # 返回函数,返回函数可以把一些计算延迟 def my_abs2(x): return abs(x) # 返回函数调用的结果,返回值是一个数值
def calc_prod(lst): def lazy_prod(): prod = 1 for i in lst: prod = prod*i return prod return lazy_prod f = calc_prod([1, 2, 3, 4]) print(f()) # Out:24
5.1.lazy_prod() 함수와 반환 함수 cal_prod()를 정의하는 이유는 무엇입니까?
Python은 반환 함수의 기본 구문을 지원합니다
def f(): print('call f()...') # 定义函数g: def g(): print('call g()...') # 返回函数g: return g
만 반환 함수의 역할:
반환 함수는 일부 계산을 연기할 수 있습니다. 예를 들어 정규 합산 함수를 정의하는 경우:
def calc_sum(lst): return sum(lst) print(calc_sum([1,2,3,4])) # Out:10 def calc_sum(lst): def lazy_sum(): return sum(lst) return lazy_sum f = calc_sum([1, 2, 3, 4]) print(f) # 代码并没有对函数进行执行计算出结果,而是返回函数,所以打印出来的是类型 #Out: <function calc_sum.<locals>.lazy_sum at 0x000001FF43462E18> print(f()) # 对返回的函数进行调用时,才计算出结果 # Out:10
위 내용은 Python에서 일반적으로 사용되는 5가지 내장 고차 함수 소개(코드 포함)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

제한된 시간에 Python 학습 효율을 극대화하려면 Python의 DateTime, Time 및 Schedule 모듈을 사용할 수 있습니다. 1. DateTime 모듈은 학습 시간을 기록하고 계획하는 데 사용됩니다. 2. 시간 모듈은 학습과 휴식 시간을 설정하는 데 도움이됩니다. 3. 일정 모듈은 주간 학습 작업을 자동으로 배열합니다.

Python은 게임 및 GUI 개발에서 탁월합니다. 1) 게임 개발은 Pygame을 사용하여 드로잉, 오디오 및 기타 기능을 제공하며 2D 게임을 만드는 데 적합합니다. 2) GUI 개발은 Tkinter 또는 PYQT를 선택할 수 있습니다. Tkinter는 간단하고 사용하기 쉽고 PYQT는 풍부한 기능을 가지고 있으며 전문 개발에 적합합니다.

Python은 데이터 과학, 웹 개발 및 자동화 작업에 적합한 반면 C는 시스템 프로그래밍, 게임 개발 및 임베디드 시스템에 적합합니다. Python은 단순성과 강력한 생태계로 유명하며 C는 고성능 및 기본 제어 기능으로 유명합니다.

2 시간 이내에 Python의 기본 프로그래밍 개념과 기술을 배울 수 있습니다. 1. 변수 및 데이터 유형을 배우기, 2. 마스터 제어 흐름 (조건부 명세서 및 루프), 3. 기능의 정의 및 사용을 이해하십시오. 4. 간단한 예제 및 코드 스 니펫을 통해 Python 프로그래밍을 신속하게 시작하십시오.

Python은 웹 개발, 데이터 과학, 기계 학습, 자동화 및 스크립팅 분야에서 널리 사용됩니다. 1) 웹 개발에서 Django 및 Flask 프레임 워크는 개발 프로세스를 단순화합니다. 2) 데이터 과학 및 기계 학습 분야에서 Numpy, Pandas, Scikit-Learn 및 Tensorflow 라이브러리는 강력한 지원을 제공합니다. 3) 자동화 및 스크립팅 측면에서 Python은 자동화 된 테스트 및 시스템 관리와 같은 작업에 적합합니다.

2 시간 이내에 파이썬의 기본 사항을 배울 수 있습니다. 1. 변수 및 데이터 유형을 배우십시오. 이를 통해 간단한 파이썬 프로그램 작성을 시작하는 데 도움이됩니다.

10 시간 이내에 컴퓨터 초보자 프로그래밍 기본 사항을 가르치는 방법은 무엇입니까? 컴퓨터 초보자에게 프로그래밍 지식을 가르치는 데 10 시간 밖에 걸리지 않는다면 무엇을 가르치기로 선택 하시겠습니까?

Fiddlerevery Where를 사용할 때 Man-in-the-Middle Reading에 Fiddlereverywhere를 사용할 때 감지되는 방법 ...


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

ZendStudio 13.5.1 맥
강력한 PHP 통합 개발 환경

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 Linux 새 버전
SublimeText3 Linux 최신 버전

맨티스BT
Mantis는 제품 결함 추적을 돕기 위해 설계된 배포하기 쉬운 웹 기반 결함 추적 도구입니다. PHP, MySQL 및 웹 서버가 필요합니다. 데모 및 호스팅 서비스를 확인해 보세요.
