목차
Map
Map 에러발생
01. Map
Map은 파이썬의 내장함수로, 리스트의 요소를 지정된 함수로 처리해주는 함수다.
이는 매우 자주 사용되며, 예시는 아래와 같다.
그런데, 사실 내가 map을 설명하는 이유는 아래 에러설명을 위해서다. (내가 자주 까먹기 때문에...!)예시(아래)와 같이 코드를 작성하면 TypeError가 발생한다.
02. Map 에러발생
⚠️ TypeError: map() must have at least two arguments.
2-1. 에러발생코드
def solution(num):
num_square = list(map(lambda x: x*x, num) )
print(num_square)
answer=[]
for i in num_square:
if i % 2 == 0:
answer.append("짝수")
else: answer.append("홀수")
print(answer)
# 입력예시: 1,2,3,4,5
num = map(input().split(',') )
solution(num)
2-2. 에러 원인 및 해결방법
원인은 바로, map의 성질 때문이다.
map으로 처리된 리스트 값들은 default 값으로 str의 데이터타입으로 처리된다. 하지만 이 코드에서는 데이터타입이 int 여야 한다. 따라서 아래처럼 int 라고 반드시 지정해주어야 오류가 발생하지 않는다.
2-3. 에러 해결 코드
def solution(num):
num_square = list(map(lambda x: x*x, num) )
print(num_square)
answer=[]
for i in num_square:
if i % 2 == 0:
answer.append("짝수")
else: answer.append("홀수")
print(answer)
# 입력예시: 1,2,3,4,5
num = map(int, input().split(',') )
solution(num)
'컴퓨터 사이언스 (CS) > 자료구조 및 알고리즘' 카테고리의 다른 글
07. 파이썬을 활용한 문제해결 (0) | 2021.06.03 |
---|---|
06. 프로그래밍과 문제해결_내장 메소드 (0) | 2021.06.03 |
04. 인스턴스 변수와 메소드 (0) | 2021.06.02 |
03. 객체지향 프로그래밍 개론 (0) | 2021.06.02 |
02. 좋은 코드란 무엇인가 (0) | 2021.06.02 |