용어/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