Leta Learns

sys.stdin.readline 본문

Python

sys.stdin.readline

leta 2021. 7. 7. 00:13

 

python에서 입력 받을 때 input() 대신 sys.stdin.readline 사용 => 시간 단축

알고리즘 문제 풀 때 반복문으로 여러 줄을 입력받는 경우 반드시 sys.stdin.readline() 사용하기.

 

입출력 속도 비교

  : sys.stdin.readline > raw_input() > input()

    (raw_input()은 파이썬 3.x 부터 없어짐)

 

ex) num = int(input())

     => num = int(sys.stdin.readline())

          사용할 때 import sys 선언해주어야 함.

 

 

sys.stdin.readline() #한 라인 입력받을 때

 => 한 줄 단위로 입력받으므로 개행문자도 같이 입력받음 => 개행문자 제거하기.

      input()과 마찬가지로 str로 저장되므로 형변환 해줘야 함.

      input()처럼 .split() 사용 가능.

 

sys.stdin() #여러 줄 입력받을 때

    ex) for line in sys.stdin:

            print(line)

 

 

input vs. sys.stdin.readline

  • input() 내장함수는 파라미터로 prompt message를 받을 수 있음...
  • input() 내장함수는 입력받은 값의 개행 문자를 삭제시켜서 리턴. sys.stdin.readline()은 개행 문자 포함.

=> input()은 sys.stdin.readline()과 달리 prompt message를 출력하고, 개행 문자를 삭제해야 하기 때문에 느림.

 

 

 

참고 : https://dailyheumsi.tistory.com/32

https://buyandpray.tistory.com/7

'Python' 카테고리의 다른 글

print(*)  (0) 2022.01.24
아스키코드 변환 함수 ord(), chr()  (0) 2021.07.20
lambda를 사용한 정렬  (0) 2021.07.09
Comments