Python_자료구조_Dic

최정민·2023년 5월 22일
0

Python data structure

목록 보기
5/5

개요

딕셔너리를 이해 및 응용

목표

딕셔너리의 구조를 파악하고 아이템 조회 수정 삭제 및 응용을 이해하자

딕셔너리란?

  • 딕셔너리란 리스트나 튜플처럼 순착적으로 해당 값을 구하지 않아 index가 부여되지 않고 key와 Value를 통해서 얻는다.
  • key값의 내용을 검색하여 value값을 구하는 것이다.
  • 딕셔너리는 key 중복이 안되며 value는 중복이 된다.
  • key 값은 변경이 불가능 한 값만 올 수 있다 ex) 튜플
  • key 값은 변경이 가능 한 값은 올 수 없다. ex) 리스트

딕셔너리 선언

  • 딕셔너리는 {'Key':'Value'}방식으로 선언 하면 된다.
memberInfo = {'이름' : '유재석',
'주소' : '압구정 아파트' , 
'소속' :'안테나' ,
'취미' : ['이광수 놀리기','조세호 놀리기']
}

딕셔너리 아이템 조회

  • key 값을 이용하여 value값을 조회한다.
  • get()함수를 이용하여 조회한다.
memberInfo = {'이름' : '유재석',
'주소' : '압구정 아파트' ,
'소속' :'안테나' ,
'취미' : ['이광수 놀리기','조세호 놀리기']
}
print('이름 : {}'.format(memberInfo['이름']))

print('주소 : {}'.format(memberInfo.get('주소')))

#이름 : 유재석
#주소 : 압구정 아파트

딕셔너리 추가/수정/삭제

  • del 키워드와 pop()함수를 이용하여 삭제
memberInfo = {'이름' : '유재석',
'주소' : '압구정 아파트' ,
'소속' :'안테나' ,
'취미' : ['이광수 놀리기','조세호 놀리기']
}
memberInfo.pop('소속')
del memberInfo['취미']

print(memberInfo)
#{'이름': '유재석', '주소': '압구정 아파트'}
  • 변수[key] = 값(value)로 아이템 추가 및 수정(동일 key가 있을때)이 가능
memberInfo = {'이름' : '유재석',
'주소' : '압구정 아파트' ,
'소속' :'안테나' ,
'취미' : ['이광수 놀리기','조세호 놀리기']
}
memberInfo['이름'] = '강호동'
memberInfo['메일'] = 'kang@gmail.com'

print(memberInfo)

#{'이름': '강호동', '주소': '압구정 아파트', '소속': '안테나', '취미': ['이광수 놀리기', '조세호 놀리기'], '메일': 'kang@gmail.com'}

딕셔너리 Keys(), Values(), items() 함수

  • keys() : value를 제외한 모든 key를 보여준다.
  • values() : key를 제외 한 모든 값(value)를 보여준다.
  • itmes() : 모든 딕셔너리 아이템을 보여준다.
memberInfo = {'이름' : '유재석',
'주소' : '압구정 아파트' ,
'소속' :'안테나' ,
'취미' : ['이광수 놀리기','조세호 놀리기']
}

print(memberInfo.keys())
print(memberInfo.values())
print(memberInfo.items())
# dict_keys(['이름', '주소', '소속', '취미'])
# dict_values(['유재석', '압구정 아파트', '안테나', ['이광수 놀리기', '조세호 놀리기']])
# dict_items([('이름', '유재석'), ('주소', '압구정 아파트'), ('소속', '안테나'), ('취미', ['이광수 놀리기', '조세호 놀리기'])])

딕셔너리 자료형 변환

  • Keys(), Values(), items() 함수를 적용 후 list로 반환을 진행하면 된다.
memberInfo = {'이름' : '유재석',
'주소' : '압구정 아파트' ,
'소속' :'안테나' ,
'취미' : ['이광수 놀리기','조세호 놀리기']
}

keyList = list(memberInfo.keys())
valueList = list(memberInfo.values())
itemList = list(memberInfo.items())

print('변환한 값은 : {}, 타입 : {}'.format(keyList, type(keyList)))
print('변환한 값은 : {}, 타입 : {}'.format(valueList, type(valueList)))
print('변환한 값은 : {}, 타입 : {}'.format(itemList, type(itemList)))

#변환한 값은 : ['이름', '주소', '소속', '취미'], 타입 : <class 'list'>
#변환한 값은 : ['유재석', '압구정 아파트', '안테나', ['이광수 놀리기', '조세호 놀리기']], 타입 : <class 'list'>
#변환한 값은 : [('이름', '유재석'), ('주소', '압구정 아파트'), ('소속', '안테나'), ('취미', ['이광수 놀리기', '조세호 놀리기'])], 타입 : <class 'list'>

clear() in not in clear()

  • in 키워드는 key 존재 유/무 판단
  • not in key가 있으면 False 있으면 True
memberInfo = {'이름' : '유재석',
'주소' : '압구정 아파트' ,
'소속' :'안테나' ,
'취미' : ['이광수 놀리기','조세호 놀리기']
}

print('이름' in memberInfo)
print('name' in memberInfo)
#True
#False

-clear() 함수 모든 아이템을 삭제한다. clear()함수를 사용하면 아이템들만 전체 삭제된다.

memberInfo = {'이름' : '유재석',
'주소' : '압구정 아파트' ,
'소속' :'안테나' ,
'취미' : ['이광수 놀리기','조세호 놀리기']
}

memberInfo.clear()
print(memberInfo)
#{}

-len()함수는 딕셔너리의 아이탬 개수를 알수 있다. 딕셔너리는 한쌍이 아이템 1개이다.

memberInfo = {'이름' : '유재석',
'주소' : '압구정 아파트' ,
'소속' :'안테나' ,
'취미' : ['이광수 놀리기','조세호 놀리기']
}

print(len(memberInfo))
#4
profile
데이터분석공부중

0개의 댓글