Let's Run Jinyeah

Python Input - map함수, readline함수 본문

Programming/Python

Python Input - map함수, readline함수

jinyeah 2021. 1. 22. 17:30

python에서 입력받는 방법


1. input() 함수

2. sys.stdin.readline() 함수


1. 입력받은 문자열을 띄어씌기로 구분하여 각각 숫자 자료형으로 저장


# 데이터 개수 입력
n = int(input('n을 입력하시오: '))

# 각 데이터를 공백으로 구분하여 리스트에 저장
data = list(map(int, input('data를 입력하시오: ').split()))

# 적은 수의 데이터 입력일 경우 각 변수에 저장
n, m, k = map(int, input('세개의 값을 입력하시오: ').split())

# 입력 예시
# n을 입력하시오: 5
# data를 입력하시오: 1 2 3 4 5
# 세개의 를 입력하시오: 1 2 3 

# 출력 예시
# 5
# [1, 2, 3, 4, 5]
# 1 2 3

 

  • input() 함수: 한 줄의 문자열을 입력 받음
  • split() 함수: 문자열을 공백으로 나눈 리스트 생성   *줄바꿈 기호도 공백으로 취급
  • map(함수, 리스트) 함수: 해당 리스트의 원소를 하나씩 꺼내서 함수를 적용한 후 새로운 리스트에 저장

2. 파이썬의 기본 input() 함수는 동작 속도가 느려서 시간 초과로 오답 판정을 받을 수 있다. 이 경우 파이썬의 sys 라이브러리에 정의되어 있는 sys.stdin.readline() 함수를 이용


import sys
data = sys.stdin.readline().rstrip()
data2 = list(map(int, sys.stdin.readline().rstrip()))
data3 = list(map(int, sys.stdin.readline().split()))

# 입력 예시
# data: 12345
# data2: 12345
# data3: 1 2 3 4 5
# 출력 예시
# data: 12345
# data2: [1, 2, 3, 4, 5]
# data3: [1, 2, 3, 4, 5]

 

  • readline() 함수: 사용자가 입력 후 엔터를 누르면 줄 바꿈 기호를 포함하여 입력받음
  • rstrip() 함수: 입력받은 문자열에서 오른쪽 공백(줄바꿈 기호) 제거

출처 - 이것이 취업을 위한 코딩테스트다

Comments