본문 바로가기

코테 공부/python

Python map

map은 리스트/튜플 요소를 지정된 함수로 처리해주는 함수(원본 리스트를 변경하지 않고 새 객체를 생성)

  • list(map(함수, 리스트))
  • tuple(map(함수, 튜플))

 

실수가 저장된 리스트가 있을 때 이 리스트의 모든 요소를 정수로 변환하려면

li = [1.2, 2.3, 3.7, 4.5]
li = list(map(int, li))
li
# [1, 2, 3, 4]
# map에 int와 리스트를 넣으면 리스트의 모든 요소를 int를 사용해서 변환
# 다음에 list를 사용해서 map의 결과를 다시 리스트로

list 말고 다른 iterable도 가능

range 숫자를 문자열로 변환

li = list(map(str, range(11)))
li
# ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '10']

 

+ 참고

input().split()의 결과: 문자열 리스트

 

+ 튜플이 아니어도 이렇게 변수에 리스트 요소 할당 가능

a, b, c  = [1, 2, 3]
print(a) #a
print(b) #b
print(c) #c

+ 맵 객체로도 변수 여러개에 할당 가능

# input().split()의 결과: 문자열 리스트
# 리스트의 요소를 int로 변환, 결과: 맵 객체
m = map(int, input().split())
a, b = m # 맵 객체는 변수 여러 개에 저장 가능

m = map(int, '639')
a, b, c = m # 변수 개수는 할당할 수 있는 만큼 맞춰야함
print(a) #6
print(b) #3
print(type(c)) #<class 'int'>