0425 자료구조 3일차(~38)

박영선·2023년 4월 26일
0

딕셔너리

키(key)와 값(value)을 이용해서 자료를 관리 / 키값 별로 할당된 밸류값이 있음
키는 중복될 수 없음 / 밸류는 중복 가능
키와 밸류에는 숫자 문자 논리형 컨테이너 자료형까지 올 수 있다.
단 키에는 변경이 가능한 값은 올 수 없다. ex)리스트

students = {'s1':'홍길동','s2':'박찬호','s3':'이용규','s4':'박승철','s5':'김지은'}

memInfo = {'이름':'홍길동','학년':3,'취미':['농구','게임']}

딕셔너리 조회

딕셔너리는 키 값을 이용해서 밸류 값을 조회한다

존재하지 않는 키 조회 시 에러 발생

get함수를 이용해서 조회 가능

get함수로 존재하지 않는 키 조회 시 에러는 발생하지않음 / None 출력

딕셔너리 추가

키를 이용해서 추가

추가하려는 키가 있다면 기존값이 변경됨

factorialDic = {}
for i in range(11):
    if i ==0:
        factorialDic[i] = 1
    else:
        for j in range(1,(i+1)):
            factorialDic[i] = factorialDic[i-1]*j
print(f'factorialDic : {factorialDic}')

딕셔너리 수정

키를 이용해서 밸류 수정

키와 밸류 함수

키와 밸류만 모아서 반환하는 함수

*리스트로 변환도 가능

scores = {'kor':88,'eng':55,'mat':85,'sci':57,'his':82}
print(f'scores : {scores}')

minScore = 60
fStr = 'F(재시험)'
fDic = {}

for key in scores:
    if scores[key] < minScore:
        scores[key] = fStr
        fDic[key] = fStr
print(f'scores: {scores}')
print(f'fDic: {fDic}')

딕셔너리 삭제

del과 pop()를 사용

pop로 삭제한 경우, returnValue로 삭제된 value 출력 가능

딕셔너리 유용한 기능

key 존재 유무 확인

딕셔너리 길이(아이템개수)
len 함수 사용

모든 아이템 삭제하기
clear함수 사용

실습

memInfo = {'이름':'홍길동','학년':3,'취미':['농구','게임'],'메일':'gildong@gmail.com'}
print(memInfo)
deleteItems = ['메일','취미']

for item in deleteItems:
    if (item in memInfo):
        del memInfo[item]

print(memInfo)
profile
데이터분석 공부 시작했습니다

0개의 댓글