Python_Dictionary&Set

DonQ·2020년 12월 22일
0

TIL

목록 보기
11/31
post-thumbnail

Dictionary

Dictionary는 key와 value를 갖는 데이터 구조를 가지고 있습니다.

Dictionary 표현

{Key1:Value1, Key2:Value2, Key3:Value3, ...}

Dictionary 특징

  • Key는 고유한 값이므로 중복되는 Key 값을 설정해 놓으면 하나를 제외한 나머지 것들이 모두 무시
  • Key에 리스트는 쓸 수 없다는 것이다. 하지만 튜플은 Key로 쓸 수 있다.

연산 및 함수

추가

a = { 1 : 'a' }
a[2] = 'b'
a
{ 1 : 'a', 2 : 'b' }

삭제

a = {1: 'a', 2: 'b', 'name': 'hey', 3: [1, 2, 3]}
del a[1]
a
{2: 'b', 'name': 'hey', 3: [1, 2, 3]}

Key-Value 확인

grade = {'hey': 100, 'julliet': 99}
grade['hey']
100
>>> grade['julliet']
99

keys()

#a.keys()는 딕셔너리 a의 Key만을 모아서 dict_keys에 반환
a = {'name': 'Q', 'phone': '01012341234', 'birth': '0930'}
a.keys()
dict_keys(['name', 'phone', 'birth'])
#keys()반환값으로 List가 필요할 경우에는 list(a.keys()) 를 사용
list(a.keys())
['name', 'phone', 'birth']

values()

#values 함수를 호출하면 dict_values에 반환
a.values()
dict_values(['Q', '01012341234', '0930'])

items()

#items 함수는 Key와 Value의 쌍을 튜플로 묶은 값을 dict_items에 반환
a.items()
dict_items([('name', 'Q'), ('phone', '01012341234'), ('birth', '0930')])

clear()

#clear 함수는 딕셔너리 안의 모든 요소를 삭제
a.clear()
a
{}

get()

# get(x) 함수는 x라는 Key에 대응되는 Value를 반환.
# a.get('name')은 a['name']을 사용했을 때와 동일한 결과값 반환

a= {'name':'Q', 'phone':'01012341234', 'birth': '0930'}
a.get('name')
'Q'

in

#key의 값 존재 확인을 위한 in
a = {'name':'Q', 'phone':'01012341234', 'birth': '0930'}
'name' in a
True
'nickname' in a
False

Set

집합에 관련된 것을 쉽게 처리하기 위해 만든 자료형

  • 중복을 허용 X
  • 순서가 X(Unodered)

Set 표현

{1, 2, 3}
set([1,2,3]) = {1, 2, 3}
set('tomorrow') = {'m', 't', 'w', 'r', 'o'}

set관련 함수

s1 = set([1,2,3,4,5,6])
s2 = set([4,5,6,7,8,9])

교집합 '&', intersecion()

s1 & s2
s1.intersection(s2)
{4, 5, 6}

합집합 '|', union()

s1 | s2
s1.union(s2)
{1, 2, 3, 4, 5, 6, 7, 8, 9}

차집합 '-', difference()

s1 - s2
s1.difference(s2)
{1, 2, 3}
s2 - s1
s2.difference(s1)
{8, 9, 7}

add()

# 1개의 값만 추가(add)할 경우 사용 함수
s1 = set([1, 2, 3])
s1.add(4)
s1
{1, 2, 3, 4}

update()

# 여러 개의 값을 한꺼번에 추가(update)할 때 사용 함수
s1 = set([1, 2, 3])
s1.update([4, 5, 6])
s1
{1, 2, 3, 4, 5, 6}

remove()

# 특정 값을 제거하고 싶을 때 사용하는 함수
s1 = set([1, 2, 3])
s1.remove(2)
s1
{1, 3}
profile
꾸준히 쌓아가는 코딩 Study

0개의 댓글