set은 중복이 없는 요소들 (unique elements)로만 구성된 집합 컬렉션이다. Set은 중괄호 { } 를 사용하여 컬렉션을 표현하는데, 내부적으로 요소들을 순서대로 저장하기 않기 때문에, 순서에 의존하는 기능들을 사용할 수 없다.(인덱싱을 사용할 수 없음!) 만약 set을 정의할 때, 중복된 값을 입력하는 경우, set은 중복된 값을 한번만 가지고 있게 된다. 아래의 예를 보자면,
set1 = {1, 2, 3, 1}
print(set1)
> {1, 2, 3}
set2 = set([1, 2, 3, 1])
print(set2)
> {1, 2, 3}
수많은 elements들을 편하게 처리하기 위한 자료구조(Data Structure). List는 여러 string 이외에도 숫자, boolean 값 등 모든 type의 값을 저장 할 수 있으며 서로 다른 type의 값들을 저장하는것도 가능하다. 대괄호 [ ]사용하여 컬렉션을 표현하고, 내부적으로 요소들을 순서대로 저장하여 indexing을 사용할 수 있다.
numbers = [50,60,70]
print(numbers[0])
print(data = numbers[2])
출력
50
70
tuple은 list와 마찬가지로 데이터들을 저장하게 해주는 자료구조(Data Structure)이다. list가 수정이 가능한데 비해 tuple은 한번 선언되면 수정이 불가능! indexing은 사용할 수 있다. 일반괄호()를 사용한다. 주로 리스트와 함께 쓰이는데, tuple은 list보다 차지하는 메모리 용량이 작다.
my_tuple = (1, 2, 3)
coords = [ (4,4), (5,2), (-2, 2), (-3, -4) ]
dictionary는 immutable한 키(key)와 mutable한 값(value)으로 맵핑되어 있는 순서가 없는 집합이다. 중괄호 { } 를 사용해 dictionary를 선언한다. key 와 value 의 값으로 이루어져 있고 key값 : value 값이 나온다. 각각의 key : value 들은 comma 로 구분한다. Key는 String 뿐만이 아니라 숫자도 가능하다. Key값은 중복될 수 없기 때문에 이미 존재하는 key값이 또 추가 되면 기존의 key값의 요소를 치환한다.
my_dict = { 1 : "one", 1 : "two"}
print(my_dict)
# output
{ 1 : "two" }
dictionary를 사용하는 문법은 다음과 같다.
my_dict = { "key1" : "value1", "key2" : "value2"}
BTS 멤버중 하나인 "지민"의 다음 사항들을 인터넷 검색을 통해서 찾으셔서 dictionary로 구현하여 출력해주세요:
위에서 배운대로 빈 딕셔너리를 하나 만든 후, "키와 값"의 쌍으로 요소들을 하나하나 추가해주면 해결 가능!