[python] 리스트 [ ], 튜플 ( ), 딕셔너리 { } 비교

코딩/python|2020. 7. 20. 15:19

리스트는 대괄호 [ ]를, 튜플은 소괄호 ( )를, 딕셔너리는 중괄호 { }를 사용해서 나타냅니다. a라는 이름의 리스트, b라는 이름의 튜플, c라는 이름의 딕셔너리를 만들어보겠습니다. 

 

 

리스트와 튜플 비교

리스트와 튜플은 표면상으로는 매우 유사한데, 한 가지 중요한 차이가 있습니다. 튜플의 경우 요소를 변경하거나 삭제할 수 없습니다. 반면 리스트에서는 가능하고요. 그것을 전문 용어로 mutable, immutable이라고 부릅니다. mutable은 값을 변경할 수 있다는 뜻이고, immutable은 변경할 수 없다는 뜻입니다. 

 

 

위와 같이 리스트에서는 요소를 변경하는 것이 가능합니다. 첫번째 요소 1이 6으로 바뀌었죠. 또한 다음과 같이 특정 요소를 삭제하는 것도 가능합니다. 

 

 

6으로 바뀌었던 첫번째 요소가 제거되었습니다. 

 

이번에는 튜플에서 위와 같은 방식으로 요소를 변경하고 제거하는 것이 가능한 지 확인해보겠습니다. 

 

 

에러메시지가 떴습니다. 읽어보니, 튜플은 아이템 할당을 지원하지 않는다고 나와있죠? 인덱스를 통해 값을 변경하지 못하도록 해놨다는 뜻으로 해석할 수 있을 것 같습니다. 이번에는 요소를 제거해보겠습니다. 

 

 

이번에도 역시 에러메시지가 떴습니다. 튜플은 아이템 deletion, 즉 삭제를 지원하지 않는다고 하죠? 

 

리스트, 튜플과 딕셔너리 비교

리스트와 튜플이 어떤 값만을 담을 수 있었다면, 딕셔너리는 키(key)라는 것과 그 키에 해당하는 값(value)을 담을 수 있습니다. 

 

 

보시는 것처럼 딕셔너리를 활용하면 블로그명이라는 키에는 비스카이비전이라는 값을, 필자명이라는 키에는 심교훈이라는 값을, ... 담을 수 있습니다. 키가 단어라면, 

 

딕셔너리는 리스트, 튜플과 달리 순서가 중요하지 않습니다. 리스트, 튜플은 첫번째 요소, 두번째 요소, 세번째 요소 등 순서가 있는데, 딕셔너리에는 순서가 없습니다. 따라서 인덱스로 접근이 불가하고, 키로 접근해야 합니다. 

 

 

보시다시피, c[0]과 같은 방식으로 접근하려고 하면, 에러가 납니다. 반면, 키를 이용해서 접근은 가능합니다.