될때까지

((Python)) Set vs Dictionary, List vs Tuple 본문

프로젝트/wecode

((Python)) Set vs Dictionary, List vs Tuple

랖니 2022. 6. 23. 20:25
728x90

## 오늘의 과제 ##

지금까지 학습한 레플릿 내용을 기반으로 아래 두 문제들에 대한 답변을 Google Classroom 과제로 제출 해주세요.

  • Set 과 Dictionary 의 차이
  • List 와 Tuple 의 차이

 

1) Set

- {}로 만들거나 set()으로 감싸서 생성한다.

- list와 다르게 요소들이 순서대로 저장되어 있지 않다. 그렇기 때문에 for 반복문을 돌려도 요소들이 무작위로 나온다.

- 순서가 없다? 그렇다면 indexing을 사용 못한다.

- 저장하려는 요소와 동일한 값의 요소가 이미 존재한다면 전 요소를 치환해버리기 때문에 중복된 값을 저장할 수 없다. 

(그말인 즉슨 동일한 값이 1개 이상 있다면 맨 마지막에 저장되는 요소가 남아있다는 이야기!!)

- 그래서 새로운 요소를 추가하려면 add()라는 함수를 사용한다.

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

# {1,2,3,4}

- set에서 요소를 삭제할 때는 remove함수를 사용한다.

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

# {1,2}

- set에 저장되어있는 값들을 확인하려면 in키워드를 사용한다.

my_set = {1,2,3}

if 1 in my_set:
	print('1은 있습니다.')

if 4 not in my_set:
	print('4는 없지롱')

# 1은 있습니다.
# 4는 없지롱

- Set의 교집합 : &과 intersection

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}

- Set의 합집합 : |와 union

set1 = {1, 2, 3, 4, 5, 6}
set2 = {4, 5, 6, 7, 8, 9}

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}

 

2) Dictionary

- {}로 감싸져있고 key와 value의 한 쌍으로 이루어져있다.

- 순서가 없는 데이터 집합이다.

- key값은 중복될 수 없다. 만약 이미 존재하는 key값이 또 추가된다면 기존의 key값을 치환하게 된다. 이말인 즉슨 동일한 값이 1개 이상이면 나중의 값으로 업데이트 된다는 이야기!)

dict1 = { 1 : "one", 1 : "two" }
print(dict1)
# { 1 : "two" }

- 새로운 요소를 추가하는 방법은 아래와 같다.

dictionary_name[new_key] = new_value

- dictionary에서 요소를 수정하려면 리스트에서처럼 index가 아니라 key값을 사용한다.

my_dict = {"one":1, 2:"two", 3:"three"}
my_dict["four"] = 4
print(my_dict)
# {"one":1, 2:"two", 3:"three", "four":4}

 

3) List

- 순서가 있고 대괄호 []를 사용한다.

- 순서가 있기 때문에 인덱싱 및 연산이 가능하며 값은 바꿀 수 있다.

 

4) Tuple

- 값 변경이 불가하다.

728x90