[PS] 파이썬 기본 연습하기 (python)
- 공백 기준 int 값 여러 개 입력 받기
- (n x 0) 2차원 리스트 만들기
- 0으로 초기화된 (n x m) 2차원 리스트 만들기
- 공백없이 붙여서 출력하기
- n개의 줄에 입력되는 문자열을 ‘문자 단위’ 리스트로 만들기
- n개의 줄에 입력되는 문자열을 ‘문자열 단위(공백 기준 분할)’ 리스트로 만들기
- 한 줄 입력을 리스트로 변환하기
- 2차원 리스트에서 특정 인덱스를 기준으로 정렬하기
- 튜플끼리 더하기
- 값이 공백으로 구분되는 (n,m) 리스트 입력받기
- 삼항연산자
- list.pop(0) vs deque.popleft()
- 리스트 요소만 출력하기
1. 공백 기준 int 값 여러 개 입력 받기
1
2
n, m = map(int, input().split())
n, m = map(int, sys.stdin.readline().split())
2. (n x 0) 2차원 리스트 만들기
1
graph2 = [[] for _ in range(n)]
3. 0으로 초기화된 (n x m) 2차원 리스트 만들기
1
graph = [[0] * (n+1) for _ in range(n+1)]
4. 공백없이 붙여서 출력하기
1
2
3
4
5
6
7
8
s = "abc"
# 1.
print(s[0]+s[-1]) # ac
# 2.
print(s[0],end="")
print(s[-1])
# 3.
print(s[0],s[-1],sep="")
5. n개의 줄에 입력되는 문자열을 문자 단위 리스트로 만들기
1
2
3
4
5
6
7
8
9
10
11
12
13
14
n = int(input())
li = [list(input().rstrip()) for _ in range(n)]
li2 = [list(map(int, input().rstrip())) for _ in range(n)]
print(li)
print(li2)
# 입력
3
123
456
789
# 출력
[['1', '2', '3'], ['4', '5', '6'], ['7', '8', '9']]
[[1, 2, 3], [4, 5, 6], [7, 8, 9]]
6. n개의 줄에 입력되는 문자열을 ‘문자열 단위(공백 기준 분할)’ 리스트로 만들기
1
2
3
4
5
6
7
8
9
li = [input().rstrip().split() for _ in range(n)]
print(li)
# 입력
3
123
456
789
# 출력
['123', '456', '789']
7. 한 줄 입력을 리스트로 변환하기
1
2
3
4
5
6
7
8
9
# 1.문자
li = sys.stdin.readline().split()
# input : a b c d e
# output : ['a', 'b', 'c', 'd', 'e']
# 2.숫자
li = list(map(int, sys.stdin.readline().split()))
# input : 1 2 3 4 5
# output : [1, 2, 3, 4, 5]
8. 2차원 리스트에서 특정 인덱스를 기준으로 정렬하기
(n * m) 리스트에서 특정 인덱스(0,1…m-1 열)를 기준으로 정렬하기
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
arr = [
[3, 'a', 10],
[1, 'b', 20],
[5, 'c', 30],
[2, 'd', 40]
]
# 1. sort
arr.sort(key=lambda x:x[0]) # 내림차순 :reverse=True
# 2. sorted
arr2 = sorted(arr, key=lambda x: x[0])
# output
[[1, 'b', 20], [2, 'd', 40], [3, 'a', 10], [5, 'c', 30]]
9. 튜플끼리 더하기
1
2
3
4
5
6
7
8
9
10
t = (0,0)
t2 = (3,4)
print(t+t2) # 1.
print((t[0]+t2[0],t[1]+t2[1])) # 2.
#output
# 1. (0, 0, 3, 4)
# 2. 3 4
10. 값이 공백으로 구분되는 (n,m) 리스트 입력받기
1
2
3
4
5
6
7
pos = [list(map(int, sys.stdin.readline().split())) for _ in range(n)]
# 입력
2 3
0 0 1
0 0 0
# 출력
[[0, 0, 1], [0, 0, 0]]
11. 삼항연산자
1
a = a if a > b else b
12. list.pop(0) vs deque.popleft()
1
2
3
from collections import deque
list.pop(0) # O(n)
deque.popleft() # O(1)
13. 리스트 요소만 출력하기
1
2
3
4
5
6
7
8
9
li = [1, 2, 3]
print(li)
print(*li)
print(' '.join(map(str, li)))
# 출력
[1, 2, 3]
1 2 3
1 2 3
이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.