>백엔드 개발 >파이썬 튜토리얼 >Python 3에서는 `filter`, `map` 및 `reduce`가 어떻게 변경되었나요?

Python 3에서는 `filter`, `map` 및 `reduce`가 어떻게 변경되었나요?

Susan Sarandon
Susan Sarandon원래의
2024-11-27 15:38:10303검색

How Have `filter`, `map`, and `reduce` Changed in Python 3?

Python 3: 필터, 매핑 및 축소 구현의 변형

Python 2에서는 필터링, 매핑 및 축소가 다르게 동작합니다. Python 3 대응 항목에서. 이는 Python 3에서 구현된 몇 가지 중요한 변경 사항에서 비롯됩니다.

목록에 대한 보기 및 반복자:

  • map() 및 filter()는 이제 대신 반복자를 반환합니다. 기울기. 목록을 얻으려면 list()를 사용하여 명시적으로 변환하세요.

reduce() 제거:

  • reduce()가 다음에서 제거되었습니다. functools.reduce() 함수를 선호하는 핵심 Python. 그러나 일반적으로 명시적인 for 루프가 더 읽기 쉽고 선호됩니다.

사용 예:

Python 2 코드 조각은 다음과 같이 Python 3에 대해 업데이트될 수 있습니다. :

def f(x):
    return x % 2 != 0 and x % 3 != 0

# **Filter:** Use list() to obtain a list of filtered values
filtered_list = list(filter(f, range(2, 25)))

# **Map:** Similarly, use list() to convert the iterator to a list
cubed_list = list(map(lambda x: x ** 3, range(1, 11)))

# **Reduce:** Use functools.reduce() or an explicit for loop
from functools import reduce
add_result = reduce(lambda x, y: x + y, range(1, 11))

print(filtered_list)  # Output: [5, 7, 11, 13, 17, 19, 23]
print(cubed_list)   # Output: [1, 8, 27, 64, 125, 216, 343, 512, 729, 1000]
print(add_result)   # Output: 55

추가 리소스:

  • [Python 3.0 변경 사항](https://docs.python.org/3/whatsnew/3.0.html)
  • [map() 및 뷰 ](https://wiki.python.org/moin/Python에서 목록을 반환하기 위한 map() 가져오기 3.x)

위 내용은 Python 3에서는 `filter`, `map` 및 `reduce`가 어떻게 변경되었나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.