2차원 리스트

목록 2차원 리스트

개인적으로 2차원 리스트 이해하고 공부하는데 많이 힘들었다. 최대한 이해하기 쉽게 기록해보겠다.

수학시간에 배운 행렬 개념을 알면 그림을 보고 이해 할수있다!

2차원 리스트 기본문법

2차원 리스트 반복문 한번 사용

얼핏보면 초보입장에서 보면 어렵게 볼수 있는데 잘게 쪼개어 보면 이해 하기가 쉽다.

리스트 반복문 한번 사용

a = [[10,20],[30,40],[50,60]]
for x ,y in a:
    print(x,y)

pirnt(x,y) 출력하면 아래와 같은 형식으로 나온다!

단 이 방법은 2차원리스트가 가로크기가 크지 않을때 유용하다!

반복문 두번 사용

a = [[10,20],[30,40],[50,60]]
for i in a:
    for j in i:
        print(j, end= ‘ ’)
    print( )	

여기서 반복문 두 번 사용하는 차이점은 안쪽리스트에서
값을 꺼낸뒤에 요소별로 하나씩 할당해 리스트를 만들어낸다.

for 과 range 사용

for 과 range 사용하기

a = [[10,20],[30,40],[50,60]]
for i in range(len(a)): # 세로크기 3
    for j in range(len(a[i]): # 가로크기2
        print(a[i][j], end= ‘ ’)
    print( )

가로, 세로 크기 구분법

반복문 한번사용

while 반복문 한번 사용하기

a = [[10,20],[30,40],[50,60]]
i = 0
while i < len(a): #반복할 때 세로 리스트의 크기 활용
    x,y = a[i]
    print(x,y)
    i+=1

반복문 두번사용

while 반복문 두번 사용하기

a = [[10,20],[30,40],[50,60]]
i = 0
while i < len(a): 세로크기
    j = 0
    while j < len(a[i]):가로크기
        print(a[i][j], end =“ ”)
        j+=1 # 가로 인덱스 1씩 증가
    print()
    i+=1 # 세로 인덱스를 증가시키는데 이것을 
    j+=1밑에 입력하면 잘못된 방식으로 나온다.

반복문 1차원리스트

for 반복문으로 1차원 리스트 만들기

a = []
for i in range(10):
    a.append(0)
print(a)  
출력값:[0,0,0,0,0,0,0,0]

반복문 2차원리스트

for 반복문으로 2차원 리스트 만들기

a=[]
for I in range(3):
   line=[] # 안쪽에 사용할 빈 리스트 생성
   for j in range(2): 
       line.append(0): 
       # 빈 리스트 안에 0 값을 추가하는 코드 
   a.append(line)
print(a) 
출력값 [[0,0],[0,0],[0,0]]

리스트 표현식

리스트 표현식으로 2차원 리스트 만들기

a=[[0 for j in range(2)]for i in range(3)]
a
[[0,0],[0,0],[0,0]]	

코드 동작순서는 먼저 range(2) 두번 반복한뒤에 `range(3)으로 3번 반복하면 값이 출력된다.

톱니형

톱니형 리스트 만들기

a=[3,1,3,2,5] # 가로크기 있다고 가정할 때
b=[]
for i in a:
    line = []
    for j in range(i):
        line.append(0)
   b.append(line)
print(b)
[[0,0,0],[0],[0,0,0],[0,0],[0,0,0,0,0]]	

2차원 리스트의 할당 과 복사

>>>a = [[10,20],[30,40]]
>>>b = a
>>>b[0][0]=500
>>>a
[500,20],[30,40]
>>>b
[[500,20],[30,40]]

# copy 메서드 사용!!
>>>a = [[10,20],[30,40]]
>>>b = a.copy()
>>>b[0][0]=500
>>>a
[500,20],[30,40]
>>>b
[[500,20],[30,40]]

# import copy 모듈사용!!
>>>a = [[10,20],[30,40]]
>>>import copy
>>>b = copy.deepcpy(a)
>>>b[0][0] = 500
[10,20],[30,40]
>>>b
[[500,20],[30,40]]

좋은 웹페이지 즐겨찾기