Python은 List, Tuple, Dictionary, Set 이라는 각기 다른 자료구조를 제공한다. 기본적인 특징을 학습하고 Set과 Dictionary, 그리고 List와 Tupe의 차이에 대해 이해해보자.

Python에서는 List(리스트)를 통해 여러 개의 데이터를 한 곳에 저장할 수 있다.
List는 [](대괄호)로 감싸여져 있으며, 데이터 요소와 요소는 쉼표로 구분한다.
List는 여러 string 이외에도 숫자, boolean 값 등 모든 type의 값을 저장 할 수 있으며 서로 다른 type의 값들을 저장하는것도 가능하다.
sandwich = ["peanut butter", "jelly", "bread"].
Tuple은 기본적으로 list와 비슷하게 요소들을 저장할 때 쓰이며, ()(일반괄호)로 감싸여 있다.
my_tuple = (1, 2, 3)
list와 tuple은 공통적으로 여러 데이터를 담을 수 있는 컨테이너형 변수이고, Indexing을 통해 특정 요소에 접근할 수 있으며 그렇기에 order가 존재해 iterable 하다. 그렇다면 두 Data Structure는 어떤 차이가 있을까?
가장 중요한 차이는 바로 Mutable 여부다. list는 Muatable 하지만 tuple은 Immutable 하다. 그렇기에 불변객체의 특성상 tuple은 list에 비해
Dictionary의 key로 사용될 수 있고, 따라서 수정이 필요없고 간단한 형태의 데이터를 표현할때에는 list보다 tuple을 사용하는 것이 더 효과적이다.
Set은 list와 마찬가지로 다양한 타입의 요소를 저장할 수 있고, {}(중괄호)로 감싸여 있다.
set1 = {1, 2, 3}
set이 list와 다르게 가지고 있는 특징은
for문을 읽을 시 무작위로 나오고,set에 존재할 수 없다.Dic은 기본적으로 set과 유사하게 {}(중괄호)를 사용하며 iterable하지 않고, 중복된 key가 존재하지 않는다.
my_dic = { "key1" : "value1", "key2" : "value2"}
다만 set, list, tuple이 모두 하나의 value를 요소로 가지는 것과 달리 Dic은 key와 value의 쌍으로 이루어져 있으며,value에 해당하는 고유한 key를 지정해 원하는 값에 접근할 수 있다.
set과 dic모두 중복된 값이 존재하지 않고, list와 같이 Mutable하다. set과 dic의 차이는 바로
set은 key값만 존재하지만 dic은 key, value 값이 존재한다는 것,dic의 key값은 immutable 형식이어야 하고 value는 mutable하다는 것,따라서 Immutable 형식인 tuple은 dic의 key 값으로 활용이 가능하다.
이러한 특징들로 인해 데이터 간의 대응관계(Key & Value)를 잘 나타내고 싶은 경우 dic을 사용하고 단순 중복값을 없애기 위함이나 수학적 처리를 위해서는 set을 이용한다.