lambda, reduce

sen·2022년 9월 10일
0

lambda

lambda는 표현식 내에서 사용할 수 있는 최소 함수 정의입니다.

람다는 익명 함수 (Anonymous function), 즉 이름을 지정할 필요가 없는 함수에서 주로 사용된다. 또한 일회성 으로 함수를 사용할 때 쓰인다.

파이썬 내 사용법

(lambda x, y: x + y)(1, 2)
>> 3	# 1 + 2

lambda 매개변수 : 표현식

자바 내 사용법

() -> "Hello World!";

(매개변수, ... ) -> { 실행문 ... }

  • 람다식 내에서 사용되는 지역변수는 final이 붙지 않아도 상수로 간주된다.
  • 람다식으로 선언된 변수명은 다른 변수명과 중복될 수 없다.
  • 병렬 프로그래밍(multi-threading)이 용이하다.

reduce

두 인자의 function을 왼쪽에서 오른쪽으로 iterable의 항목에 누적적으로 적용해서, 이터러블을 단일 값으로 줄입니다.

주로 위 lamda와 같이 쓰인다.

파이썬 내 사용법

from functools import reduce

reduce(lambda x, y: x + y, [1, 2, 3, 4, 5])
>> 15	# ((((1+2)+3)+4)+5)

reduce(집계 함수, 순회 가능한 데이터[, 초기값])

자바 내 사용법

void tempTest() {
    List<Integer> list = List.of(1, 2, 3, 4, 5);
    System.out.println(list.stream().reduce((x, y) -> x + y)
            .orElseThrow(IllegalArgumentException::new));
}
>> 15

list.stream().reduce(함수)


출처: https://mangkyu.tistory.com/113 [MangKyu's Diary:티스토리]

profile
𝙝𝙞 𝙩𝙝𝙚𝙧𝙚 😎

0개의 댓글