파이썬 딕셔너리, 집합 자료형 [Python]

Pturt·2023년 2월 15일
0

파이썬

목록 보기
3/7

< 딕셔너리 자료형 >

key와 value한 쌍으로 구성된 자료형으로 대응관계를 나타낼 수 있는 자료형이다.
인덱스 값을 통해 요솟값을 찾는 다른 자료형과 달리 key값을 통해 요소값을 찾을 수 있다.
{단어: 뜻, 단어2: 뜻2, 단어3 : 뜻3 ...} 의 형태로 표현한다

dic = { 'name' :"Kim", 'age' : 21, 'score' : [80, 65]}
print(dic)
	>>{'name': 'Kim', 'age': 21, 'score': [80, 65]}

리스트 자료형이나 튜플 자료형도 value값으로 사용할 수 있다.

(key는 구조체처럼 변수명을 정하는 것이 아니라 검색할 key값을 붙이는 것임으로 따옴표 안에 쓴다)

딕셔너리 요소 검색

위에서 언급했듯 딕셔너리 자료형은 key값을 검색해서 value를 찾는다

dic = { 'name': "Kim", 'age': 21, 'score': [80, 65]}
print(dic['name']
	>>Kim
   
dic2 = {1: 'a', 2: 'b'}
print(dic2[1])
	>>a

※ key가 아닌 인덱스 값으로 검색하면 KeyError오류가 발생한다

✔ 딕셔너리 요소 추가
딕셔너리에 요소를 추가하고 싶을 때는
딕셔너리명['key값'] = 'value값'으로 입력한다.

dic = { 'name': "Kim", 'age': 21}
dic['job'] ='student'
print(dic)
	>>{'name': 'Kim', 'age': 21, 'job': 'student'}

✔ 딕셔너리 요소 삭제
del 명령어를 통해 딕셔너리의 key: value를 삭제할 수 있다

dic = { 'name': "Kim", 'age': 21, 'score': 75}
del dic['score']
print(dic)
	>>{'name': 'Kim', 'age': 21}

✔ key, value, item
keys : 딕셔너리 안의 key값들만 보여주는 메소드
values : 딕셔너리 안의 value값들을 모아서 보여주는 메소드
items : 딕셔너리의 key, value쌍 전체를 확인하는 메소드

dic = { 'name': "Kim", 'age': 21, 'job': 'student', 'score' : 90}
print(dic.keys())
print(dic.values())
print(dic.items())
	>>dict_keys(['name', 'age', 'job', 'score'])
	 dict_values(['Kim', 21, 'student', 90])
	 dict_items([('name', 'Kim'), ('age', 21), ('job','student'), ('score', 90)])

집합 자료형

중복을 제거하고 순서가 없는 자료형
set함수를 사용해서 생성한다.

set1 = set([1,2,3])
print(set1)
	>> {1, 2, 3}
    
set2 = set([1,3,2,4,4,3,2,5])
print(set2)
	>>{1, 2, 3, 4, 5}
    
set3 = set("hello")
print(set3)
	>>{'e', 'o', 'h', 'l'}

순서가 없는 자료형이기 때문에 인덱스 번호로 요소값을 얻을 수 없다.
인덱스 검색을 하고 싶다면 리스트형으로 변환 후 사용 가능

반대로 리스트도 집합 자료형으로 바꿔 사용할 수 있다.

list1 = [1,2,3,4,5,3]
set1 = {1,2,3,4,5}

ltos = set(list1)
stol = list(set1)
print(listoset)
print(setolist)
	>>{1, 2, 3, 4, 5}
	  [1, 2, 3, 4, 5]

✔ 집합자료형 집합연산
집합자료형의 특성을 가지고 합집합, 차집합, 교집합을 수행할 수 있다.

- 교집합 (&)

set1 = {1,3,5,6,7}
set2 = {2,3,4,5,7}
print(set1&set2)
	>>{3, 5, 7}

- 합집합 (|)

set1 = {1,2,3,4}
set2 = {3,4,5,6}
print(set1|set2)
	>>{1, 2, 3, 4, 5, 6}

- 차집합(-)

set1 = {1,2,3,4}
set2 = {3,4,5,6}
print(set1-set2)
print(set2-set1)
	 >>  {1,2}
    	 {5,6}

※ add : set에 값 추가
update : set에 여러 값 추가
remove : set에서 값 삭제

profile
애송이 개발자

0개의 댓글

관련 채용 정보