포스트

[PS] 파이썬 기본 연습하기 (python)

  1. 공백 기준 int 값 여러 개 입력 받기
  2. (n x 0) 2차원 리스트 만들기
  3. 0으로 초기화된 (n x m) 2차원 리스트 만들기
  4. 공백없이 붙여서 출력하기
  5. n개의 줄에 입력되는 문자열을 ‘문자 단위’ 리스트로 만들기
  6. n개의 줄에 입력되는 문자열을 ‘문자열 단위(공백 기준 분할)’ 리스트로 만들기
  7. 한 줄 입력을 리스트로 변환하기
  8. 2차원 리스트에서 특정 인덱스를 기준으로 정렬하기
  9. 튜플끼리 더하기
  10. 값이 공백으로 구분되는 (n,m) 리스트 입력받기
  11. 삼항연산자
  12. list.pop(0) vs deque.popleft()
  13. 리스트 요소만 출력하기

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 라이센스를 따릅니다.