Skip to content

minority opinions

Menu
  • Home
  • 꿀팁정리 & 자기계발
  • 기술 정보 & 테크 소식
  • 이슈 뉴스 정리
  • 주식 경제
  • Tags
Menu

Python Map Lambda / map 함수

Posted on 2월 5, 20227월 8, 2023 by Daniel J.

이표현식은 def 의 lambda모든 구문 없이 인라인으로 작은 함수를 만드는 방법입니다. 다음은 단일 n매개변수가 있는 람다가 있으며 매개변수 값을 두 배로 반환합니다.

lambda n: n * 2

람다의 코드는 일반적으로 변수나 if-문이 없는 단일 표현식이며 “반환”을 사용하지 않습니다. Lambda는 인라인으로 작성할 짧은 계산이 필요한 경우에 적합합니다. 많은 프로그램에는 이러한 방식으로 매우 간단하게 해결할 수 있는 일부 하위 부분이 있습니다. 더 긴 코드의 경우 def가 더 좋습니다.
map()함수는 목록에 대해 람다 함수를 실행하여 [1, 2, 3, 4, 5]다음과 같이 목록과 같은 결과 컬렉션을 만듭니다.

>>> list(map(lambda n: n * 2, [1, 2, 3, 4, 5]))
[2, 4, 6, 8, 10]

map()으로 작업하려면 람다에 소스 목록의 한 요소를 나타내는 하나의 매개변수가 있어야 합니다. 문자열 목록 n의 경우 숫자 목록 과 같이 매개변수에 적합한 이름을 선택하십시오 . smap()의 결과는 대부분 목록처럼 작동하지만 인쇄되지 않는 “반복 가능한” 지도 객체입니다. 따라서 예제에서는 인쇄를 위해 map() 결과를 list()로 래핑합니다.

>>> nums = [1, 2, 3, 4, 5]
>>> 
>>> map(lambda n: 2 * n, nums)  # print fails, so list() below
<map object at 0x10ce142e8>
>>>
>>> list(map(lambda n: 2 * n, nums))  # e.g. double each n
[2, 4, 6, 8, 10]
>>>
>>> list(map(lambda n: n * -1, nums))
[-1, -2, -3, -4, -5]
>>>
>>> list(map(lambda n: 2 ** n, nums))
[2, 4, 8, 16, 32]
>>>
>>> strs = ['Summer', 'is', 'coming']
>>> list(map(lambda s: s.upper() + '!', strs))
['SUMMER!', 'IS!', 'COMING!']

Lambda Def Equivalence

Map은 종종 람다와 함께 사용되지만 def에서도 작동합니다. def를 사용하면 여러 줄, 루프, 주석, 테스트 등의 이점이 있습니다. 다음은 람다 대신 def로 작성된 위의 double-n 계산입니다.

def double(n):
    return n * 2

>>> nums = [1, 2, 3, 4, 5, 6]
>>> list(map(double, nums))    # use name of function "double"
[2, 4, 6, 8, 10, 12]

함수는 “double”이라는 이름으로 참조되지만 괄호()는 없습니다. 이것은 함수를 참조하지만 호출하지 않는 드문 경우입니다.

Filter

map()이 filter()함수는 함수와 목록을 취하고 함수가 true를 반환하는 요소의 하위 집합 목록을 반환합니다

예를 들어, 문자열 목록이 주어지면 길이가 3보다 큰 문자열 목록을 반환합니다.

>>> strs = ['apple', 'and', 'a', 'donut']
>>>
>>> list(filter(lambda s: len(s) > 3, strs))
['apple', 'donut']

다른 예로, 숫자 목록이 주어지면 홀수만 포함하도록 필터링합니다( n % 2는 2로 나눈 나머지 나머지입니다. 짝수의 경우 0, 홀수인 경우 1).

>>> nums = [5, 3, 6, 1, 7, 2]
>>> list(filter(lambda n: n % 2 == 1, nums))
[5, 3, 1, 7]

이 글 공유하기:

  • 페이스북에 공유하려면 클릭하세요. (새 창에서 열림) Facebook
  • 클릭하여 X에서 공유 (새 창에서 열림) X
  • 인쇄하기 (새 창에서 열림) 인쇄
  • 클릭하여 친구에게 이메일로 링크 보내기 (새 창에서 열림) 전자우편
  • Telegram에 공유하려면 클릭하세요. (새 창에서 열림) Telegram
  • WhatsApp에 공유하려면 클릭하세요. (새 창에서 열림) WhatsApp

이것이 좋아요:

좋아하기 가져오는 중...

관련

답글 남기기 응답 취소

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

Category

  • Article (66)
  • Uncategorized (178)
  • 게임 소식 (13)
  • 기술 정보 & 테크 소식 (260)
  • 꿀팁정리 & 자기계발 (317)
  • 블로그 (26)
  • 사건 사고 (64)
  • 역사 (35)
  • 영화 & 드라마 & 애니메이션 (27)
  • 이슈 뉴스 정리 (207)
  • 정치 인물 사회 (122)
  • 주식 경제 (119)

Recent Posts

  • 위고비(Wegovy) 효능과 가격(1펜) 정리

    위고비(Wegovy) 효능과 가격(1펜) 정리

    2월 16, 2025
  • 도메인 URL 주소 단축하는 사이트 모음

    도메인 URL 주소 단축하는 사이트 모음

    1월 30, 2025
  • 5년전 정혜수 MBC 기상캐스터가 해고당하면서 올린 글

    5년전 정혜수 MBC 기상캐스터가 해고당하면서 올린 글

    1월 28, 2025
  • MBC 기상캐스터 오요안나 자살과 집단 괴롭힘 가해자

    MBC 기상캐스터 오요안나 자살과 집단 괴롭힘 가해자

    1월 27, 2025
  • 홍장원 전 국정원 1차장 좌파이력 정리

    홍장원 전 국정원 1차장 좌파이력 정리

    1월 22, 2025

Popular Posts

©2025 minority opinions | Design: Newspaperly WordPress Theme
%d