맛동산

파이썬 자료형_리스트 본문

파이썬/기초

파이썬 자료형_리스트

오지고지리고알파고포켓몬고 2016. 10. 3. 16:12

리스트의는 [ ]로 감쌈

ex) list = [1,2,3,4,5]

 

중첩 리스트가 가능 list = [1,2, ['a','b','c'],4,5]

리스트는 list[0]이런식으로 접근 가능하고 문자열과 마찬가지로 list[-1]식도 가능

list[:3]와 같은 슬라이싱도 가능 -> [1,2,['a','b','c']]

중첩리스트는 list[2][1] -> 'b' 이렇게 접근가능

 

리스트의 요소를 변수로 정의하면 해당 값이 들어감

 

 

a='asdf'로 정의하고 list=[1,a,3]으로 정의하면 다음과 같이 [1, 'asdf', 3]을 나타냄

 

 

여기서 확인하고 싶었던건 a의 값을 바꾸면 list안의 값도 바뀔 것 인가? 하지만 결과를 보면 그렇지 않았음

근데 재밌는점은

 

 

list2=list에서 list2가 [1,'asdf',3]이 되는건 당연히 예측가능함

근데 list[0]을 '재밌네요'라고 바꿨더니 list2의 내용까지 바뀜

 

list=[1,a,2]에서 a는 *a의 값을 가르켰는데 list2=list는 메모리의 같은 공간을 가르키게 됨

만약 참조하지 않는 복사를 하고싶다면 list2=list[:]라고 해야함(또는 copy함수를 쓰면 됨)

 

이외에도 리스트 +, *가 가능함

 

           

->

 

lista * 2를 한다면 [1,2,3,1,2,3]과 같은 결과가 나옴

만약 lista의 2라는 값 대신 '허니버터칩'과 '오감자'를 넣고 싶다면 lista[1:2]=['허니버터칩', '오감자'라고 해야함

lista[1]=['허니버터칩', '오감자']라고 하면 중첩리스트로 생성 됨

 

 

Comments