티스토리 뷰
<먼저 알아두기 : lambda>
lambda는 익명함수(이름이 없는 함수)를 사용하기 위해 이용됩니다.
v = lambda 인수1, 인수2,.... : 식
=> 람다뒤에 인수, 콜론 그리고 실행할 식을 기술합니다.
#람다를 사용한 식
x2 = lambda x:x*2
#함수를 사용한 식
def x2: return x*2
lambda사용시, def와 return을 사용할 필요가 없다는 장점이있다.
<리스트를 다루는 map()과 filter()>
1. map과 함께 사용
nums = [1,3,5,7,9]
x2 = lambda x : x*2
a=list(map(x2,nums))
print(a)
#map을 사용해 nums를 x2의 형식에 맞춰서 list형식으로 저장됨
#결과 : [2, 6, 10, 14, 18]
map(function, iterable,...)
첫번째 인수 : 함수 오브젝트, 두 번째 인수 : 여러개의 값을 포함하는 데이터형
=> 첫번째 인수인 함수에 두 번째 인수에 저장된 값을 모두 적용하고 반환, list()를 함께 사용해 list형태로 만들어 손쉽게 사용가능
2. filter와 함께 사용
nums = [1,2,3,11,12,13,21,22,23]
a = list(filter(lambda x :(x%2)==1,nums))
#nums에 저장된 값들을 lambda를 사용해 받아오며 (x%2)==1과 같은 식에 참인 결과만 출력
print(a)
#출력 : [1, 3, 11, 13, 21, 23]
b = list(filter(lambda x: x>13, a))
print(b)
#출력 [21, 23]
c = list(filter(lambda x:x<23,b))
print(c)
#출력 [21]
filter(function,literable)
첫 번째 인수 : 함수 오브젝트, 두 번째 인수 : 여러개의 값을 포함하는 데이터형
=> 첫번째 인수인 함수에 두 번째 인수에 저장된 값을 모두 적용하고 그 값이 TRUE일때만(판별식을 사용해야할 때 filter를 자주 사용) list()와 함께 사용해 배열에 저장하고 쉽게 사용가능
<추가로 sorted와 함께 lamda를 알아보자>
정렬후 데이터형 변수=sorted(정렬하려는 여러개의 값을 포함하는 데이터형, key = lambda표현식)이 일반적인 형태
animal_dict = {"사자":58, "치타":110,"얼룩말":60, "순록":80}
fast = sorted(animal_dict.items(),key = lambda x:x[1],reverse = True)
#dic데이터를 items()를 통해 튜플형태로 변환하여 사용했으므로 fast도 튜플형태
for name,speed in fast:
print(name,speed)
[결과]
치타 110
순록 80
얼룩말 60
사자 58
리스트는 파이썬을 활용해 데이터처리 및 다양한 알고리즘에 필수!
lambda와 map(),filter(),sorted()를 함께 알아보며 공부하자!
'파이썬 > 파이썬 기초' 카테고리의 다른 글
구현 (0) | 2021.07.25 |
---|---|
그리디 알고리즘 (0) | 2021.07.16 |
파이썬 기초 - 알아두면 유용 (0) | 2021.03.24 |
정렬하기 (0) | 2021.03.22 |
파이썬 기초 - 기초 문법 연습하기 (0) | 2021.03.10 |
- Total
- Today
- Yesterday
- 10866 백준
- stack 컨테이너
- 파이썬 알아두면 유용
- 백준 4963
- 백준 15650 파이썬
- 영화 리뷰 긍정 부정 분류
- 기본 텍스트 분류
- 백트래킹(1)
- LAMBDA
- 시뮬레이션 c
- 백준 숫자놀이
- 코딩월드뉴스
- CSMA/CD란?
- mm1queue
- CREATE ASSERTION
- c++덱
- 온라인프로필 만들기
- 백준 11053 파이썬
- 딥러닝입문
- 11053 백준
- 기사작성 대외활동
- 핀테크 트렌드
- 13886
- 소프트웨어공학설계
- 효율적인방법찾기
- 백준 10866
- 모듈 사용법
- 4963 섬의개수
- DRF 회원관리
- 스택 파이썬
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |