[널널한 교수의 고급 파이썬] 01-4 다차원 리스트의 참조
다차원 리스트를 만들어 보자 1 : board = [[0] * cols] * rows 2 : board = [[0] * cols for _ in range(rows)] 1번이 더 빠른 이유는 객체의 수도 적고 참조도 적게한다 board = [[0] * 3] * 3 print(board) board[0][0] = 1 print(board) #[[1,0,0],[1,0,0],[1,0,0]] board = [[0] * 3 for _ in range(3)] print(board) board[0][0] = 1 print(board) #[[1,0,0],[0,0,0],[0,0,0]]
더보기
[널널한 교수의 고급 파이썬] 01-3 할당, 얕은 복사와 깊은 복사
01-3 할당, 얕은 복사와 깊은 복사 파이썬 리스트 리스트는 변경가능(mutable) 자료형이다 객체 a를 다른 객체 b에 할당할 때(즉 b=a 연산) 데이터의 복사가 발생하지 않는다(효율성의 증대) (리스트, 정수형 등 모든 자료형) a = [1,2,3] b = a # 단순 할당(참조가 이루어지며, 사본을 만들지 않음) print(b) # [1,2,3] assert(id(a) == id(b)) b.append(4) # 리스트는 변경가능(mutable) print(a) # [1,2,3,4] a = [1,2,3] b = a[:] # 얕은 복사 b.append(4) print(a) # [1,2,3] print(b) # [1,2,3,4] 깊은 복사 vs 얕은 복사 얕은 복사와 깊은 복사의 차이점은 리스트나 ..
더보기
[널널한 교수의 고급 파이썬] 01-2 리스트 요소는 참조형이다
01-2 리스트 요소는 참조형이다 리스트 파이썬의 리스트는 타 언어의 배열과 비슷해 보인다 하지만 하나의 리스트에 서로 다른 자료형의 항목을 포함할 수 있다(리스트, 딕셔너리 등을 포함할 수 있다) elemets are references 리스트 요소는 참조형이다 # 리스트 객체 생성 a = [100, "two hundred", 300] 리스트 요소의 재할당 # 리스트 객체 생성 a = ["one", "two", 3, 4] # 리스트 요소의 재할당 a[1] = 2 리스트 요소의 추가 # 리스트 객체 생성 a = [1, 2, 3, 4] # 리스트 객체의 변경(mutating) a.append(5) 리스트의 덧셈과 재할당 # 리스트 객체 생성 a = [1, 2, 3, 4] # 리스트 객체의 재바인딩(rebi..
더보기