python에서 입력받을 때에는 input 함수 사용.
디폴트 값으로 문자열로 저장하고 int(input()) 이나 float(input())형태로 정수, 실수로 저장할 수 있다.
변수 여러 개의 값을 입력받으려면 split을 사용한다.
마찬가지로 디폴트로 문자열로 저장하고, map에 int나 float을 지정해주어 정수나 실수로 변환한다.
#1. 값 두 개를 입력받아 변수 a와 b에 저장 (띄어쓰기 구분)
a, b = input().split() #문자열로
a, b = map(int, input().split()) #정수형으로
a, b = map(float, input().split()) #실수형으로
#2. 1차원 배열 입력받기 = 정수형 리스트로 저장
num_list = list(map(int, input().split())) #입력 : 1 2 3 /출력 : [1, 2, 3]
#3. 문자열 여러줄 입력받기
s_list = [input() for _ in range(n)] #예시로 n에 3넣어 3줄 입력받기(엔터로 구분)
#4. 한 문자열(숫자ex.12345) 받아서 한 글자씩 나누어 더하기
s = input()
for i in range(len(s)):
sum += int(s[i]) #문자열은 슬라이싱 가능!! + 문자열 형변환
#5. 띄어쓰기 없이 정수 여러개 입력받아 2차원 배열로 저장하기
two_d = [list(map(int, input())) for _ in range(n)] #예시는 4줄 입력받음
#6. 열은 띄어쓰기로 행은 엔터로 구분하여 입력받아 2차원 배열 저장하기
t_d = [list(map(int, input().split())) for _ in range(n)]#예시는 4줄. 4.-와 결과는 같다.
split 함수란?
: 문자열을 일정한 규칙으로 잘라서 리스트로 만들어 주는 함수.
#형태
- 문자열.split()
- 문자열.split('구분자')
- 문자열.split('구분자',분할횟수)
- 문자열.split(sep='구분자',maxsplit=분할횟수)
(= 문자열을 maxsplit 횟수만큼 sep의 구분자를 기준으로 문자열을 잘라서 리스트로 만든다)
#sep 파라미터
- 기본값은 none.
- 띄어쓰기, 엔터로 문자열을 자름
- 문자열.split(',') 은 , 기준으로 문자열을 자른다는 뜻
#maxsplit파라미터
- 기본값은 -1. 자를 수 있을 때까지 문자열 전체를 자름
- 앞에 sep파라미터가 있을 때만 maxsplit=를 생략할 수 있음.
ex. 문자열.split(',',1)
ex2.문자열.split(maxsplit=1) #앞에 sep파라미터 없어서 maxsplit을 써서 명시해줘야만 함.
map 함수란?
: 리스트의 요소를 지정된 함수로 처리하는 함수.
보통 여러 개의 데이터를 한 번에 다른 형태로 바꾸기 위해 사용함.
#형태
map(function,iterable)
- 첫번째 매개변수는 적용시킬 함수, 두 번째 매개변수는 반복가능한 자료형(리스트, 튜플 등)
- map 함수의 반환 값은 map 객체라서 list나 tuple로 형 변환을 시켜주어야 함.
- 함수는 int와 타입, 람다함수, 일반 함수 모두 가능
result = list(map(lambda x: x * 2,[5,4,3,2,1]))
print(f"map(람다함수, 리스트) : {result}")
'공부 > Python' 카테고리의 다른 글
[python]리스트 값 for문으로 한번에 저장 (0) | 2021.12.29 |
---|---|
[python]문자열 만드는 방법 4가지 (+, % ,str.format, f-string) (0) | 2021.07.28 |
python 기초 8 - 파일 (0) | 2019.09.28 |
python 오류-UnicodeDecodeError: 'cp949' codec can't decode byte 0xed in position 0: illegal multibyte sequence (0) | 2019.09.26 |
python 기초 7 - 리스트, 딕셔너리, set (0) | 2019.09.25 |
댓글