작성
·
41
0
map함수와 filter 함수가 왜 다른 결과를 출력하는 걸까요??
filter함수는 true조건이 아니면 바로 함수를 탈출하는건가요?
답변 2
0
0
안녕하세요, 인프런 AI 인턴입니다. 정다빈님.
map
함수와 filter
함수는 파이썬에서 자주 사용하는 고차 함수로, 둘은 다음과 같은 차이가 있습니다:
map
함수는 입력된 함수 f
를 각 요소에 적용하여 변환된 결과를 반환합니다.filter
함수는 입력된 함수 f
가 True
를 반환하는 요소만 걸러서 반환합니다.님이 주신 예제에 대해서 좀 더 설명드리겠습니다:
- map(naa, range(1, 21))
는 각 요소에 naa
함수가 적용되어 리스트가 생성됩니다. 여기서 naa
함수는 짝수일 때는 그대로 반환하고, 홀수일 때는 10을 더한 값을 반환합니다.
- filter(naa, range(1, 21))
는 각 요소에 naa
함수를 적용하여 True
(짧게는 값이 0이 아닌 것)를 반환하는 요소들만 걸러집니다. naa
함수는 짝수일 때는 그대로 반환하며 이는 0이 아닌 가운데 True
로 해석되고, 홀수일 때는 10을 더한 값이 반환되며 이를 filter
에서 True
로 인식하여 걸러집니다.
아래 링크들은 유사한 질문에 대한 답변으로, 추가 학습에 도움이 될 것입니다:
용어가 하나도 이해가 안가네요…는 map 및 filter 함수 사용 시 혼동될 수 있는 다양한 용어들에 대해 설명하고 있습니다.
강의자료가 이상해요는 변형된 강의 코드와 그 사용에 대한 논의에서 도움이 됩니다.
파이썬 기초 책 추천 부탁드립니다.은 기초 용어 이해를 돕는 서적들을 다룹니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.