꺼내먹는지식 준

Python List 본문

Python/간단한 이해 글

Python List

알 수 없는 사용자 2022. 1. 17. 17:23

Python List 에서 쉽게 할 수 있는 실수들 

A = [1,2,3,4,5]

B = [1,2,3,4,5]

A,B 는 같은 값의 리스트를 가져도, 둘은 같은 주소를 공유하지 않는다. 

A = B[:]

A는 B 값의 리스트를 복사해도, 둘은 같은 주소를 공유하지 않는다. 

A = B

이 경우 둘은 같은 주소를 공유한다. 

 

A == B 

둘의 값만 같으면 된다. 

A is B 

둘의 메모리 주소가 같아야 한다. 

당연히 A is not B 는 값이 같아도, 메모리 주소만 다르면 True를 리턴한다. 

 

굉장히 충격적이게도, 

-5 ~ 256 의 integer 값들은 

a = -5

b = -5 

a is b 가 True를 리턴한다. 이는 자주 쓰이는 숫자들에 대해서는 선언하는 모든 변수들이 같이 가리키도록 하기 때문이다. 

그렇다고 해서 

a = 3 으로 수정해도 b값이 수정되지는 않는다. 

본 내용을 숙지하지 않고 코딩을 할 때 실수를 하면 debugging하기가 굉장히 어려울 수 있다. 

 

값을 비교할 때는 == , is 는 메모리 주소 비교할 때만 사용하는게 좋을 것 같다. 

 

 

 

 

'Python > 간단한 이해 글' 카테고리의 다른 글

Python Zip  (0) 2022.02.04
Pandas  (0) 2022.01.18
numpy  (0) 2022.01.18
String 및 변수, 함수 관련  (0) 2022.01.17
컴퓨터 기본 내용 정리, 파이썬 기본 내용 정리  (0) 2022.01.17
Comments