- Today
- Total
Recent Posts
Recent Comments
Archives
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- Crawling
- 중간시험
- 파이썬 자료구조
- 크롤링
- 쉬운 파이썬
- 파이썬 강의
- 자료구조
- 자료구조 강의
- 파이썬 입문
- 알고리즘 강의
- 채용문제
- python data structure
- 코딩시험
- 파이썬 알고리즘
- 코딩문제
- c언어
- 알고리즘
- 파이썬 강좌
- 프로그래밍
- 면접 파이썬
- gdrive
- 셀레니움
- 파이썬
- 파이썬3
- 대학시험
- selenium
- 기말시험
- python 중간고사
- 알고리즘 강좌
- 파이썬활용
Notice
반원 블로그
여러 개 사용자 입력처리 input + 파이썬 map 함수 본문
파이썬 map함수
만일 [1,2,3,4,5,6,7,8,9] 숫자 리스트 각각에 특정 함수를 실행시키는 방법에는 어떤 것이 있을까?
예시로 입력1개에 출력 1개이며 곱하기 2를 해주는 함수가 있다고 가정하자.
def two_times(x):
return x*2
기초적인 코딩으로 풀자면
def two_times(x):
return x*2
src = list(range(10)) #숫자 리스트
res = []
for s in src:
res.append(two_times(s))
print(src)
print(res)
이렇게 된다.
이렇게 연결가능 자료형(Iterable)에 대해서는 for를 사용하여 함수를 각각 적용해볼 수 있는데, map함수를 사용하면 한결 편해진다. 첫번째에는 함수, 두번째에는 연결형 데이터를 적으면 된다.
이를 이용하여 윗 코드를 변경해보면 다음처럼 나온다.
def two_times(x):
return x*2
src = list(range(10)) #숫자 리스트
res = map(two_times, src)
print(src)
print(res)
print(list(res))
'''출력결과
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
<map object at 0x0000025274971390>
[0, 2, 4, 6, 8, 10, 12, 14, 16, 18]
'''
여러 개의 입력 처리
입력을 할 때 여러 개의 데이터가 띄어쓰기 식으로 들어온다하면 다음처럼 입력을 나눌 수 있다.
data = input("입력 : ").split()
print(data)
'''출력결과
입력 : 3 5 77 111 2 가나다 라라라
['3', '5', '77', '111', '2', '가나다', '라라라']
'''
map을 이용한 여러개 입력 처리
input은 무조건 문자열로 데이터를 받는다. 여러 개의 숫자를 받을 때 하나하나 int()로 형변환해주려면 또 for문을 해야한다. 여기서는 위에서 다룬 map을 써보자.
data = map(int,input("숫자 입력 : ").split())
print(data)
print(list(data))
'''출력결과
숫자 입력 : 3 5 7 9
<map object at 0x00000162D824B2E8>
[3, 5, 7, 9]
'''
다음처럼 받은 변수 개수를 지정할 수도 있다.
(근데 이 경우엔 왼쪽 변수 숫자와 입력 개수가 같지않으면 에러가 발생한다)
a,b,c,d = map(int,input("숫자 입력 : ").split())
print(a)
print(b)
'''출력결과
숫자 입력 : 3 5 7 9
3
5
'''
'2018~ > Python Skill Up' 카테고리의 다른 글
5. 클래스 - 기초 정의 및 인스턴스 생성 (0) | 2019.09.06 |
---|---|
4. rest api (1) - 급식 데이터 조회 (0) | 2019.09.06 |
파이썬 가상환경 개요 설명 (0) | 2019.09.06 |
3. selenium : 웹 드라이버 제어를 통한 자동화 (0) | 2019.09.05 |
2. pyautogui : 키보드 마우스 제어 패키지 (0) | 2019.09.05 |
1. 라이브러리, 패키지, 모듈, 외장 함수, 내장함수 (0) | 2019.09.05 |
0. python skillup track1 환경 설정 (0) | 2019.09.05 |
os 모듈 사용 예제, sys 인수 (0) | 2019.09.02 |
Comments