Tuple & Set & Dictionary

jinatra·2021년 8월 7일
1

Python

목록 보기
6/15
post-thumbnail

Tuple & Set & Dictionary


Tuple

Tuple의 정의

tuple_name = (a, b, c)

정보를 저장할 때 사용하는 자료형 중 하나
요소들을 저장할 때 사용 (list와 비슷)


Tuple의 특징

소괄호(())를 사용하여 선언 (tuple_name = (a, b, c))
기본적인 logiclist와 동일

리스트는 변경 가능 (mutable),
튜플은 변경 불가 (immutable)


Set

set의 정의

set_name = {a, b, c}

다양한 타입의 elements를 저장하는 자료형 중 하나


set의 특징

무작위성

요소들이 순서대로 저장되어 있지 않음 (순서대로 정돈되어 있는 list와의 차이점)

비중복성

동일한 value의 element가 하나 이상 존재하지 않음


Set 생성법

  1. 중괄호({}) 이용

  2. set함수(set()) 이용

set_1 = {1, 2, 3}
set_2 = set([1, 2, 3])

위에서 알 수 있듯이, set함수(set())를 사용하면 list를 set으로 변경할 수 있다.
이 때 list에 중복된 value를 가진 element가 있다면 하나만 남게 된다.


Set element 추가/삭제

추가 (.add())

set.add()

삭제(.remove())

set.remove()


교집합

교집합은 & 키워드 혹은 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}

합집합

합집합은 | 키워드 혹은 union 함수를 사용

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 정의

dictionary_name = {'key1' : 'value1', 'key2' : 'value2'}

정보들 간의 대응 관계를 표현하는 자료형 구조


Dictionary의 기본 문법

dictionary_name = {'key1' : 'value1', 'key2' : 'value2'}

  • 중괄호 {} 를 사용해 dictionary를 선언한다.
  • keyvalue 의 값으로 구성.
    key 값이 먼저 나온 후 : 이 위치하고 그 다음에 value 값이 나온다.
  • 각각의 key : value 들은 ,(comma) 로 구분한다.

Dictionary 내 value 확인

dictionary_name['key']

index를 사용하여 value를 확인하던 list, tuple, set과 달리,
dictionary는 각 value에 할당된 key 값을 이용해 확인

info = {1 : 'one', 2 : 'two', 3 : 'three'}

print(info[3])


# Output
three

Dictionary element 추가

dictionary_name[new_key] = new_value

만약 동일한 값의 key가 있다면, 새로 추가되는 element가 이전 element를 대체


Dictionary element 수정

dictionary_name[new_key] = new_value

key값을 사용하여 element 수정

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

Dictionary element 삭제

del dictionary_name[key] = value

del문과 key 값을 사용하여 element 삭제

my_dict = { "one": 1, 2: "two", 3 : "three" }
del my_dict["one"]
print(my_dict)
> {2: 'two', 3: 'three'}

list, tuple, set,dictionary 비교

list → 대괄호([]) 사용, 수정 가능, 순서 O, 중복 가능
tuple → 소괄호(()) 사용, 수정 불가능, 순서 O, 중복 가능
set → 중괄호({}) 사용, 수정 가능, 순서 X, 중복 불가
dictionary → 중괄호({}) 사용, 수정 가능, 순서 O, key 중복 불가, element 중복 가능





Take Away

여러 자료형의 차이

내 개인적으로 정리하려고 TIL 작성하고 있었는데 프로젝트 과제가 이와 똑같은 것일줄을 몰랐다.
사람 생각하는건 다 비슷하다고 내가 중요하다고 생각하는거는 다른 사람도 중요하다고 여길 수 있나 보다.
명확히는 아니지만 이제는 어느정도 각 자료형들의 차이점을 설명할 수 있을 것 같다.

나름 잘 정리했다고 생각하고 했으니 이 페이지는 진짜 자주 봐야할 것 같다.
백엔드는 데이터, 즉 자료가 굉장히 중요한 분야이니 이런 자료형들이 괜히 세분화되지 않았을 거라는 느낌이 강하게 든다




참고
https://gmnam.tistory.com/170
https://wikidocs.net/16
https://specialscene.tistory.com/142

profile
으악

0개의 댓글