상세 컨텐츠

본문 제목

[파이썬(Python)] #15. List에 map 사용하기

python

by 빨간눈동자 2021. 8. 19. 14:02

본문

반응형
# test.py

#list의 float 값을 int형으로 변환하기
a = [1.2, 2.4, 3.6, 4.8]
for i in range(len(a)):
    a[i] = int(a[i])
print(a)

위 예제는 range() 함수를 사용하여 a (list)의 길이를 구한 후, 개수만큼 for문을 돌린다. 

list indexing 기법을 이용하여 각 요소에 접근하여 int()를 사용하여 int로 변경하는 코드이다. 

map을 사용하여 위 예제와 동일한 결과를 가지도록 해보자.  

# list에 map을 사용하여 형 변환하기
b = [1.2, 2.4, 3.6, 4.8]
b = list(map(int, b))
print(b)

위 예제 또한 리스트(b)의 요소를 int형으로 변경하는 코드이다. 

map의 첫번째에 int를 넣고, 두번째로 리스트를 전달하면. 리스트의 각 요소에 int 함수를 적용해준다. 

그 결과를 리스트로 생성해준다. 

 

# map에는 반복가능한 모든 객체를 사용할 수 있다.

c = input().split()
print(f'문자열로 저장: {c}')

splite() 함수 문자열을 공백으로 분리하여(인자가 없기때문에..) 리스트로 변환해준다 

즉, input().splite()는 입력받은 문자열을 공백으로 분리하여 리스트만들어 c에 할당한다.

이제 위 예제에 map()함수를 사용하여 보자 

d = list(map(int, input().split()))
print(f'숫자로 저장: {d}')

위 구조는 d = list( map (int, "문자열 리스트" ) 의 구조이며, 

문자열 리스트의 요소에 int()를 적용하여 정수 값을 가지는 list를 생성하여 d에 할당하는 예제이다. 

 

e, f = [10, 20]
print(f'{e}, {f}')

위 예제는 map()과는 관련이 없지만, 위와 같이 리턴 값을 서로 다른 변수로 전달 받을 수 있다. 

g, h = input().split()
print(f'{g}, {h}')

즉, 입력 문자열도 서로 다른 변수에 저장할 수 있다. 

반응형

관련글 더보기