용어/Differences by language
[Python/JAVA/JS] 다차원 배열, 중첩 배열/리스트
줌인.
2024. 6. 26. 12:00
중첩 배열 / 리스트란? 배열 / 리스트 안에 또 다른 배열 / 리스트를 포함하는 자료 구조
다차원 데이터를 표현하거나 복잡한 관계를 나타내는 데 유용
자바(Array) | 자바스크립트(Array) | 파이썬(list) | |
중첩 리스트 지원 | X (다차원 배열 사용) | O | O |
선언 및 접근 방식 | int [][] arr = {{1,2}, {3,4}} | let arr = [[1,2], [3,4]]; | arr = [[1, 2], [3,4]] |
요소 접근 | arr[0][1] // 2 | arr[0][1] // 2 | arr[0][1] # 2 |
장점 | 명확한 타입 정의 | 유연성, 간결한 문법 | 유연성, 간결한 문법 |
단점 | 다소 복잡한 문법 | 타입 안정성 부족 | 상대적으로 느린 접근 속도 |
[자바 코드 예시]
// 자바 (2차원 배열)
int[][] matrix = {{1, 2, 3}, {4, 5, 6}};
System.out.println(matrix[0][1]); // 2
더보기
※ 2차원 배열의 선언 및 초기화
int[][] matrix = {
{1, 2, 3}, // 1행
{4, 5, 6}, // 2행
{7, 8, 9} // 3행
};
- int[][]는 정수 타입의 2차원 배열을 의미
- 중괄호 {} 안에 각 행의 요소들을 쉼표(,)로 구분하여 나열
- 각 행은 다시 중괄호 {}로 묶여 있음
※ 2차원 배열의 요소 접근
int value = matrix[1][2]; // 2행 3열의 값 (6)을 가져옴
[자바스크립트 코드 예시]
// 자바스크립트 (중첩 배열)
let list = [1, 2, ["Life", "is"]];
console.log(list[2][0]); // "Life"
더보기
※ 행렬(matrix)이라는 자료 구조를 별도로 가지고 있지 않음
- list[2]는 list 배열의 세 번째 요소에 접근
- list[2]는 ["Life", "is"]라는 내부 배열을 반환
- list[2][0]은 이 내부 배열의 첫 번째 요소에 접근, 따라서 "Life"가 출력
[파이썬 코드 예시]
# 파이썬 (중첩 리스트)
lst = [1, 2, ["Life", "is"]]
print(lst[2][0]) # "Life"
더보기
※ 행렬(matrix)이라는 자료 구조를 별도로 가지고 있지 않음
- lst[2]는 lst 리스트 세 번째 요소에 접근
- lst[2]는 ["Life", "is"]라는 내부 배열을 반환
- lst[2][0]은 이 내부 배열의 첫 번째 요소에 접근, 따라서 "Life"가 출력
[빈 리스트 / 배열 생성]
방식 | 설명 | 비교 | |
파이썬 | a = list() | list 생성자 사용으로 빈리스트 생성 | a = [ ]로도 가능 |
자바 | int [ ] arr = new int[3]; | new 연산자를 사용해 크기가 3인 정수형 배열 생성 |
초기값은 0으로 설정 |
자바스크립트 | let arr = [ ]; | 빈 배열 리터럴 [] 사용 | let arr = new Array();도 가능 (비권장) |
728x90