728x90
파이썬의 내장된 라이브러리에서는 크기를 정하여 생성하는 배열의 개념이 없어 리스트가 이를 대체한다.
파이썬에서 배열을 사용하기 위해서는 array module또는 Numby package등 외부 라이브러리를 사용해야한다.
이에 코딩테스트 문제풀이 시 1차원리스트를 1차원 배열, 2차원리스트를 2차원 배열이라고 사용하기도 한다.
하지만 명확하게 구분하면 둘은 다르다.
* 크기가 n인 1차원 리스트 만들기
1) 임의의 값으로 초기화 해서 리스트 만들기
n = int(input())
list1 = [0] * n
2) list()함수 사용하기
n = int(input())
list1 = list(map(int,input().split()))[0:n]
3) 반복문(for문) 사용하기
n = int(input())
list1 = []
for i in range(n):
list1.append(int(input()))
print(list1)
* 크기가 정해지지 않은 1차원 리스트 만들기
1) list()함수 사용하기
# 입력받는 자료형이 문자열일 때
list1 = list(input().split())
#입력받는 자료형이 숫자일 때
list2 = list(map(int,input().split())
2) 반복문(for문) 사용하기
#리스트안의 요소를 문자열로 넣을 때
list1 = [ i for i in input().split()]
#리스트안의 요소를 숫자로 넣을 때
list2 = [ int(i) for i in input().split()]
* 크기가 n * m 인 2차원리스트 만들기 (n =세로(열), m = 가로(행))
- 파이썬에서 2차원 리스트는 리스트 안에 리스트가 들어있는 형태이다.
1) 임의의 값으로 초기화 해서 리스트 만들기
n ,m = map(int,input().split())
arr1 = [[0]*m for col in range(n)]
arr2 = [[0 for col in range(m)] for row in range(n)]
* 불가 *
rows = int(input())
cols = int(input())
arr = [[0] * cols] * rows
- python에서 * 연산자를 이용해 배열을 선언하게 되면, 얕은복사(shallow copy)가 진행된다.
- 배열은 제대로 선언된 것 처럼 보이지만 하나의 요소의 값을 변경하려하면 다른 요소의 값도 같이 변경된다.
- 즉, 배열 내의 요소들이 같은 객체를 가리켜 해당 방식으로 2차원리스트를 선언하면 다른 요소의 값도 같이 변경된다.
2) list()함수 사용하기
n ,m = map(int,input().split())
arr = []
for i in range(n):
arr.append(list(map(int,input().split()))[0:m])
print(arr)
3) 반복문(for문) 사용하기
n ,m = map(int,input().split())
arr = []
for i in range(n):
row = []
for j in range(m):
row.append(int(input()))
arr.append(row)
* 크기가 정해지지 않은 2차원 리스트 만들기
- 행 반복을 위한 범위는 정해줘야한다
n = int(input())
arr = []
for i in range(n):
arr.append(list(map(int,input().split())))
print(arr)
n = int(input())
arr1 = [list(map(int,input())) for _ in range(n)]
arr2 = [list(map(int,input().split())) for _ in range(n)]
'Python > Python' 카테고리의 다른 글
[Python] 07. 파이썬의 연산자 (0) | 2024.01.09 |
---|---|
[Python] 06. 입출력(input(),print(),print()문의 옵션) (0) | 2023.11.26 |
[Python] 05. 파이썬 문자열/리스트 관련 메소드, 함수 (0) | 2023.11.24 |
[Python] 04. 메소드와 함수 (0) | 2023.11.24 |
[Python] 01. 기본 자료형과 형 변환(cast) (0) | 2023.11.23 |