1. input()
input()은 기본적인 파이썬 입력 방법이다.
input으로 입력받으면 기본적으로 str 타입으로 저장된다.
또한 list()를 사용하면 문자열을 하나하나 분리해 리스트로 만들어준다.
>>> a = input()
abcde
>>> a
'abcde'
>>> list(a)
['a', 'b', 'c', 'd', 'e']
>>> test = input()
Hello Hi
>>> test
'Hello Hi'
>>> list(test)
['H', 'e', 'l', 'l', 'o', ' ', 'H', 'i']
나머지 input에 대한 설명은 아래 링크에 있다.
[Python(파이썬)] 입력, 출력 (input(), print())
입력 - input() 파이썬에서는 기본적으로 input()을 사용하여 입력 받는다. >>> input() Hello # 출력 'Hello' >>> input() 123 # 출력 '123' 입력받은 값을 변수에 대입하기 >>> a = input() # 입력한 값을 a에..
young-library.tistory.com
2. sys.stdin.readline()
기본적으로 파이썬에서 입력받을 때 input을 사용한다.
하지만 알고리즘에서 input()을 사용하면 종종 시간 초과가 발생할 때가 있다.
따라서 입력 값을 수 백, 천개 받을 때 입출력 속도를 위해 sys.stdin 함수를 사용해주는 것이 좋다.
>>> import sys
>>> test = sys.stdin.readline()
(커서 깜빡거리면 입력)abcde
>>> test
'abcde\n'
문자열 맨뒤에 개행문자('\n')가 기본으로 추가된다.
- 정수형으로 변환 - int()
입력을 받으면 기본적으로 문자열로 저장되기 때문에 int()를 사용해 정수형으로 형변환 해준다.
>>> test2 = int(sys.stdin.readline())
123
>>> test2
123
>>> type(test2)
<class 'int'>
- 두 개 이상 정수형으로 입력 받기 - map()
두 개 이상 정수형으로 입력받을 때 int()로 형변환 해주면 Error가 발생한다. 따라서 map()을 사용하여 int형으로 변환해야한다.
>>> i, j = int(sys.stdin.readline().split())
10 20
Traceback (most recent call last):
File "<pyshell#15>", line 1, in <module>
i, j = int(sys.stdin.readline().split())
TypeError: int() argument must be a string, a bytes-like object or a number, not 'list'
#------------------------------------------------------------------------------------
>>> i, j = map(int, sys.stdin.readline().split())
10 20
>>> i, j
(10, 20)
※ sys.stdin.readline()은 기본적으로 개행문자(줄바꿈 문자)를 포함하고 있는데 strip()을 사용해 이를 없앨 수 있다.
import sys
sysinput = sys.stdin.readline
n, m = map(int, sysinput().split())
graph = [list(sysinput()) for _ in range(n)]
graph2 = [list(sysinput().strip()) for _ in range(n)]
print('graph: ', graph)
print('graph2: ', graph2)
# 입력
3 3
123
234
345
123
234
345
# 출력
graph: [['1', '2', '3', '\n'], ['2', '3', '4', '\n'], ['3', '4', '5', '\n']]
graph2: [['1', '2', '3'], ['2', '3', '4'], ['3', '4', '5']]
strip()을 해준 graph2에는 개행문자가 없음을 확인 할 수 있다.
strip함수에 대한 설명은 아래 링크로
[Python(파이썬)] 파이썬 공백 제거 (strip, replace)
파이썬에서 문자열 공백을 제거하는 2가지 방법 1. 문자열.strip() 2. replace() 1. 문자열.strip() strip함수는 양쪽 끝에 있는 공백을 제거하는 함수이다. 양쪽 끝에 있는 공백을 제거한 후 공백을 제거한
young-library.tistory.com
'Study > Python study' 카테고리의 다른 글
[Python(파이썬)] 파이썬 공백 제거 (strip, replace) (0) | 2021.12.01 |
---|---|
[Python(파이썬)] 이차원 리스트 입력 받기 (0) | 2021.12.01 |
[Python(파이썬)] 입력, 출력 (input(), print()) (0) | 2021.12.01 |
[Python(파이썬)] split 함수 (0) | 2021.12.01 |
[Python(파이썬)] 대소문자 변환 및 구분 (0) | 2021.10.06 |
댓글