250x250
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- css
- List Comprehension
- ORDER BY
- 단어 공부
- 프로그래머스
- sql
- 파이썬 슬라이싱
- 설계
- Join
- map
- 백준
- 프로젝트
- Django
- count
- 아이엠어바텐더
- where
- html
- python
- 슬라이싱
- 파이썬
- Len
- 데이터
- 코딩테스트 연습
- GIT
- date_format
- YOLOv5
- Python3
- 파이썬 몫
- pcce 기출문제
- SQL 고득점 Kit
Archives
- Today
- Total
nan + nan = 2nan
[Python3][복습정리]#0812_map 본문
728x90
백준 알고리즘 연습을 하면서 map 함수를 많이 사용하였는데,
해당 함수의 역할이나 느낌을 아직 정확히 알지 못 해서 다시 정리하기로 했다.
O Map의 정의
- map은 리스트의 요소를 지정된 함수로 처리해주는 함수이며 원본 리스트를 변경하지 않고 새 리스트를 생성하는 특징을 가지고 있다.
이를 List에 적용하는 간단한 예를 보자.
a = [1.2, 2.5, 3.7, 4.6]
for i in range(len(a)):
a[i] = int(a[i])
print (a)
> [1, 2, 3, 4]
우선 for 에 range[len(a)]를 사용해 인덱스를 가져왔고, 가져온 인덱스로 각 요소에 접근해 int로 변환하여 다시 저장했다. 이는 사실 좀 번거로운 편이다. 이럴 때, map을 사용한다면..?
A = [1.2, 2.5, 3.7, 4.6]
A = list( map (int, A) )
print(A)
> [ 1, 2, 3, 4]
한 줄로 모든 식을 마무리했다. map에 int와 list를 넣으면 리스트의 모든 요소를 int를 사용해서 변환한다. 그 다음 list를 사용해서 map의 결과를 다시 리스트로 만들어준다.
map에는 리스트 말고 반복 가능한 모든 객체를 넣을 수 있다.
a = list ( map ( str, range(3) ) )
print(a)
> [ '0', '1', '2', '3']
이처럼 range를 이용해 숫자를 만들고, map과 str를 이용해 이를 문자열로 만들어준 뒤, list 안에 넣는 과정을 만들 수 있다.
또한, 가장 많이 사용한 split을 포함해서 값을 여러 개를 입력받을 때도 사용이 가능하다.
a = map(int, input().split() )
# 10 20 입력
print (a)
> <map object at 0x03DFB0D0>
list(a)
>[10, 20]
input과 split을 활용해 값을 여러 개로 받고, map에 int와 함께 넣으면 map 객체가 만들어진다. 이 때는 보기가 불편하기 때문에, list를 사용해서 10진수의 값을 출력받는다.
'Python' 카테고리의 다른 글
[Python] break, continue, pass 차이 (0) | 2023.04.27 |
---|---|
[Python] 파이썬 가상 환경 실행 (0) | 2023.03.05 |
[Python] 0719_파이썬 클린 코드 (0) | 2022.07.19 |
[오류해결] 파일 숫자 순으로 저장 후 읽을 시 순서 문제 (0) | 2022.07.08 |
[Python3][Selenium] 셀레니움을 이용해서 멜론 일간 차트 크롤링해보기 (0) | 2021.09.01 |
Comments