티스토리 뷰

반응형

 

파이썬 map( ) 함수

 

- 순서 -

1. map 함수 설명

2. map 함수 사용 예시 

3. 정리

 


 

1. map( ) 함수 설명

 

1.1) 사용방법 : map(함수, iterable) 

첫 번째 인자에 함수, 두 번째 인자에 반복 가능한(iterable) 자료형을 입력한다.

- 함수를 넣는 첫 번째 인자는 def문으로 미리 정의한 함수나 lambda 식을 입력하는 것도 가능하다.

- 두 번째 인자의 iterable 데이터는 list, tuple과 같은 반복 가능한 데이터를 의미한다.

 

1.2) 결과 값 변환

map( )을 사용하는 경우 map 타입으로 저장되기 때문에 다른 자료형으로 변환하지 않고서 출력하면 map 타입으로 출력이 된다. 이럴 때는 list( )나 tuple( )등의 함수를 사용하여 타입을 변환해서 사용할 수 있다. 이러한 사용 예시는 아래에서 설명한다.

 

2. map( ) 함수 사용 예시

2.1) 첫 번째 인자에 함수를 넣고 사용한다. int함수를 사용해서 문자열을 int 타입으로 변환해보았다.

num_list = ['1', '2', '3', '4']	# 문자열 리스트
print(type(num_list[0]), num_list[0])	# 리스트 첫번째 요소를 출력, 타입과 결과값 출력

numbers = (map(int,num_list))
print(type(numbers), numbers)	# map타입, 결과값 출력

numbers = list(map(int,num_list))	# 숫자 리스트
print(type(numbers), numbers)	# list타입, 결과값 출력
print(type(numbers[0]), numbers[0])	# 첫번째 요소 타입, 결과값 출력


-- 출력값 비교
<class 'str'> 1
<class 'map'> <map object at 0x0000014C8B54CEC8>
<class 'list'> [1, 2, 3, 4]
<class 'int'> 1

- 사용형태는 map(int, num_list) 형태로 함수를 사용하여 문자열을 숫자로 변환하였고 타입을 확인할 때는 type( ) 함수를 사용하였다.

\- '1', '2', '3', '4'라는 문자열을 원소로 가진 리스트를 생성하고서 map함수를 이용해서 int 타입으로 변환해보았다.

- map 함수를 사용하고 바로 출력할 때에는 map 타입 값이 반환된다.

- map타입을 list( ) 함수를 사용하여 list 타입으로 변환하여 값을 출력시켰다.

 

2.2) 첫 번째 인자에 lamda 식을 사용

numbers = [1, 2, 3, 4]

# numbers 리스트의 각 요소에 +1 하는 람다식 정의
lam_numbers = list(map(lambda n: n+1, numbers))	

print(lam_numbers)

-- 출력값
[2, 3, 4, 5]

- 첫 번째 인자는 함수를 값으로 입력하면 되기 때문에 lambda 식을 정의하여 사용할 수 있다.

- lambda 식은 numbers 리스트의 각 요소에 1을 더하도록 하였다.

- list( ) 함수를 사용하여 map 타입을 list 타입으로 변환

 

 

3. 정리

1) map 함수는 map(function, iterable) 형태로 사용한다.

2) iterable 자료형의 값이 funcion에 따라 변환된다.

3) function 자리에는 lambda 식을 입력하는 것이 가능하다.

4) map 함수를 그대로 호출하면 map타입으로 반환되기 때문에 list, tuple 등의 함수를 이용해서 자료형을 변환하여 사용할 수 있다.

 

반응형
댓글
반응형