1. input()
- 파이썬 내장 함수
- input -> 개행 문자 벗기고 -> 문자열로 변환 -> return
2. sys.stdin
- file object
- 입력 -> buffer에 저장 -> 읽기 : buffer에 저장하고 읽기만 하기 때문에 시간 감소함
* 입력 속도 비교
1. for line in sys.stdin
nums = []
for line in sys.stdin :
nums.append(line)
print(nums)
숫자 한 줄씩 입력 / 결과
1
2
3
...(중략)
['1\n', '2\n', '3\n'] ## 개행문자 함께 출력됨
# 참고 -- rstirp으로 개행문자 제거
nums = []
for line in sys.stdin :
nums.append(line.rstirp()) ## rstrip으로 개행 문자 제거
print(nums)
숫자 한 줄씩 입력 / 결과
1
2
3
...(중략)
['1', '2', '3']
2. 한 줄 입력
x, y = sys.stdin.readline().split()
3. 여러 줄 입력
N = int(input())
a= [sys.stdin.readline() for _ in range(N)]
print(a)
'''
(입력)
3 # N
10 # 총 3번의 입력창 생성
20
30
(결과)
['1\n', '2\n', '3\n']
'''
4. sys.stdin.readline()
for x in sys.stdin.readline() :
print(x)
숫자 한 줄에 입력 / 결과
12 3 4 5 (입력)
(결과)
1
2
3
4
5
5. for line in sys.stdin
for line in sys.stdin :
print(line)
입력 / 결과
1 1 (입력)
1 1 (결과)
2 2 (입력)
2 2 (결과)
6. map 사용 + list 만들기
list(map(int, sys.stdin.readline().split()))
7. list + tuple로 만들기
li = []
for line in sys.stdin :
li.append(tuple(map(int, line.strip().split())))
입력 / 결과
(입력)
1 1
2 2
3 3
4 4
(결과)
[(1, 1), (2, 2), (3, 3), (4, 4)]
8. 부분만 출력하기
num = sys.stdin.readline(2) --> (입력) 1234
print(num) --> (결과) 12
'아카이브 > python' 카테고리의 다른 글
[python 문법] 리스트 쪼개기 및 for문을 이용한 combinations (0) | 2022.01.16 |
---|---|
[Python 문법] Python 기초 문법 (0) | 2022.01.15 |
[python문법] int를 str로 바꿔서 출력하기 (0) | 2022.01.15 |
[python문법] def 함수 값 여러 개 return하기 (0) | 2022.01.13 |