TIL 12. Python : Set과 Dictionary

요니·2021년 10월 20일
0

Python

목록 보기
5/7
post-thumbnail

Set

Set이란?

중복되는 원소 없이, 순서에 상관없는 데이터들을 묶어 놓은 집합형 자료구조

Set 생성하기

1. 중괄호({ }) 를 이용하여 생성

set1 = {1, 2, 3, 1}

2. set( ) 을 이용하여 생성

set1 = set([1, 2, 3, 1])
> {1, 2, 3}

Set의 속성

1. List와 마찬가지로 여러 다양한 타입의 요소(element)들을 저장할 수 있습니다.

2. 요소들이 순서대로 저장되어 있지 않습니다.
그렇기 때문에 for문에서 읽어들일때 요소들이 순서대로 나오는게 아니라 무작위 순서대로 나옵니다. 순서가 없으므로 indexing도 없어 몇번째 요소를 읽어들이거나 할 수 없습니다.

2. Set의 요소에 접근할 수 없습니다.
순서가 없으므로 indexing도 없어 몇번째 요소를 읽어들이거나 할 수 없습니다.

3. 중복값을 가질 수 없습니다.
만약 동일한 요소를 저장하려 한다면 이전 요소를 치환합니다.

Set 조작하기

1. 새로운 요소 추가하기
: add( ) 함수를 이용하여 새로운 요소를 추가합니다.

my_set = {1, 2, 3}
my_set.add(4)

print(my_set)
> {1, 2, 3, 4}

2. 요소 삭제하기
: remove( ) 함수를 이용하여 특정 요소를 삭제합니다.

my_set = {1, 2, 3}
my_set.remove(3)

print(my_set)
> {1, 2}

Set 연산

  1. in : Set에 어떠한 값이 이미 포함되어 있는지 in 키워드를 사용해 look up 할 수 있습니다.
my_set = {1, 2, 3}

if 1 in my_set:
    print("1 is in the set")
> 1 is in the set

if 4 not in my_set:
    print("4 is not in the set")
> 4 is not in the set
  1. & 키워드 혹은 intersection( ) : set의 교집합을 구할 수 있습니다.
set1 = {1, 2, 3, 4, 5, 6}
set2 = {4, 5, 6, 7, 8, 9}

print(set1 & set2)
> {4, 5, 6}

print(set1.intersection(set2))
> {4, 5, 6}
  1. | 키워드 혹은 union( ) : set의 합집합을 구할 수 있습니다.
print(set1 | set2)
> {1, 2, 3, 4, 5, 6, 7, 8, 9}

print(set1.union(set2))
> {1, 2, 3, 4, 5, 6, 7, 8, 9}

Dictionary

Dictionary이란?

key값과 Value값을 1대1로 대응시켜 쌍으로 가지고 있는 사전형 데이터 자료구조

Dictionary 생성하기

중괄호({ })와 :를 사용해 dictionary를 생성

my_dict = { "key1" : "value1", "key2" : "value2", "key3" : "value3" }

Dictionary의 속성

  1. key 값은 string 뿐만 아니라 숫자도 가능합니다.
  2. key 값은 중복될 수 없으며 이미 존재하는 key값이 추가되면 기존의 key값의 Value값을 치환합니다.
dict1 = { 1 : "one", 1 : "two" }

print(dict1)
> { 1: "two" }

Dictionary 조작하기

1. 새로운 요소 추가하기
: 새로운 key 값과 Value값을 이용하여 요소를 추가합니다.

dictionary_name[new_key] = new_value

dict = {1:"one", "two":2}
dict[3] = "three"

print(dict)
> {1:"one", "two":2, 3:"three"}

2. 요소 수정하기
: 이미 존재하는 key값을 이용하여 value값을 수정합니다.

my_dict = { "one": 1, 2: "two", 3 : "three" }
my_dict["one"] = 4

print(my_dict)
> {"one": 4, 2: "two", 3: "three"}

3. 요소 삭제하기
: key값을 이용하여 특정 요소를 삭제합니다.

my_dict = { "one": 1, 2: "two", 3 : "three" }
del my_dict["one"]

print(my_dict)
> {2: "two", 3: "three"}

Set과 Dictionary

공통점
중복값을 가질 수 없다.

차이점
1. Setkey값만 가지고 있으나
Dictionarykey값과 value값을 가지고 있다.

  1. Set은 순서가 없으므로 indexing도 없어 특정 요소에 접근할 수 없으나
    Dictionarykey값을 이용하여 특정 요소에 접근할 수 있다.
  1. Dictionarykey값은 수정 불가능, value값은 수정이 가능.
    Set은 수정 가능하다.
profile
내가 나여서 빛이나기 위해😊

0개의 댓글