퀴즈
다음 코드들을 사용하는 상황을 구분해보자.
a = [list(map(int, input())) for _ in range(n)]
a = [list(map(int, input().split())) for _ in range(n)]
std_list = [input().split() for _ in range(n)]
for _ in range(n):
name, kor, eng, math = input().split()
students.append((name, int(kor), int(eng), int(math)))
a, *b = map(int, input().split())
정답
a = [list(map(int, input())) for _ in range(n)]
-> 정수로 변환해야되고, 입력 값 띄어쓰기 안 되어있을 때
a = [list(map(int, input().split())) for _ in range(n)]
-> 정수로 변환해야되고, 입력값 띄어쓰기 되어있을 때
std_list = [input().split() for _ in range(n)]
-> 정수로 변환할 필요 없이 문자열 그대로 저장, 입력값 띄어쓰기 되어있을 때
for _ in range(n):
name, kor, eng, math = input().split()
students.append((name, int(kor), int(eng), int(math)))
-> name은 문자열 그대로 저장, kor, eng, math는 정수로 변환 후 저장
a, *b = map(int, input().split())
-> 언패킹 연산자 활용, 한 줄 입력
map 사용 주의
map은 int 뿌려주기 용, 단 map은 항상 list랑 세트로 써야 함.
list로 다시 묶어줘야 정상 출력 된다.
언패킹 연산자로 입력 받기
예를 들어, 입력으로 첫 번째 숫자로 n을 받고, 그 다음에 n개의 숫자를 받는 상황
n, *numbers = map(int, input().split())
# 5 10 20 30 40 50 입력 시
# n = 5, numbers = [10, 20, 30, 40, 50]
`n`에는 첫 번째 숫자가 할당되고, `numbers`에는 그 이후의 숫자들이 리스트로 할당됨
파이썬의 언패킹 연산자 *가 반복 가능한 객체(여기서는 map 객체)에서 나머지 모든 요소를 하나의 리스트로 수집하여 할당합니다.
언패킹 연산자 *가 변수 앞에 사용될 때, 파이썬은 그 변수에 할당되지 않은 나머지 모든 값을 리스트 형태로 그 변수에 저장
ref.
https://blog.naver.com/wpghks7/221584113312
[파이썬으로 시작하는 삼성 SW역량테스트] - 1. 입력받기
알고리즘에 대해 본격적으로 진행하기 이전에 우선 입력을 어떻게 받는지에 대해 알아보도록 하겠다. C, ...
blog.naver.com
https://dojang.io/mod/page/view.php?id=2345
파이썬 코딩 도장: 30.1 위치 인수와 리스트 언패킹 사용하기
Unit 30. 함수에서 위치 인수와 키워드 인수 사용하기 지금까지 간단하게 'Hello, world!'를 출력하는 함수와 두 수를 더하는 함수를 만들어보았습니다. 파이썬에서는 함수를 좀 더 편리하게 사용할
dojang.io