Engineering Note

[Python] 2차원 리스트 생성과 접근 본문

Programming Language/Python

[Python] 2차원 리스트 생성과 접근

Software Engineer Kim 2021. 5. 31. 19:53

1차원 리스트의 생성과 초기값 설정

  • a = [0]*3
    • 0으로 초기화된 길이가 3짜리인 리스트 생성 #[0,0,0]
    • a.append(33) # [0,0,0,33] 리스트 마지막에 33 데이터 추가2차원 리스트 생성과 초기값 설정
    • 2차원 리스트는 1차원 리스트를 여러개 생성하는 것이다.
    • for 문을 이용해서 1차원 리스트를 여러개 동시에 생성한다고 생각하면 쉽다.
    • a = [[0]*4 for _ in range(2)] # 0으로 초기화된 2행 4열 짜리 리스트 생성 # [[0, 0, 0, 0], [0, 0, 0, 0]]

2차원 리스트의 접근

  • a[0][1] 2차원 리스트 0행 1열에 접근 (0행 0열 부터 시작)
  • a = [[0]*4 for _ in range(3)] # 3행 4열 2차원 리스트 생성
a = [[0]*4 for _ in range(3)]
for x in a:
    print(x)
  • 위 코드에서 for문을 살펴 보면 a 리스트에 첫 번째 행 리스트가 x에 저장되고 리스트를 출력하고 다시 두 번째 리스트가 x에 저장 되고 출력하고를 반복하는 문장이다. 아래는 출력 결과이다.

  • 리스트의 각각의 원소를 직접 출력하고 싶다면 x에 담긴 1차원 리스트를 다시 하나 하나 y에 담아 출력해주면 된다. 아래는 소스코드와 출력 결과 이다.
for x in a:
    for y in x:
        print(y, end = " ")
    print()

2차원 리스트의 값 변경

a = [[0]*4 for _ in range(5)] # 5행 4열 짜리 2차원 리스트 생성
# 하지만 파이썬은 0행 0열 부터 시작 하기 때문에 마지막 열은 4행 3열이다.

a[0][1] = 1 # 0행 1열의 값을 1로 변경

a[2][3] = 3 # 2행 3열의 값을 3으로 변경

Comments