상세 컨텐츠

본문 제목

파이썬 딕셔너리(dict) 메뉴얼: list, key, zip 활용

IT 공부/데이터분석

by 듀_77 2020. 7. 11. 07:02

본문

반응형

#1-14, 15, 16

파이썬으로 데이터분석하는 인강을 듣고 있다.

python 기초랑 수학을 같이 건드리는 과정이고,

오늘은 딕셔너리(dict)함수를 배웠다.

 

리스트를 얕은 복사, 깊은 복사하는 방법.

 

*

딕셔너리 기본 구조와 함께 응용할 수 있는

함수들을 소개할 예정이다.

리스트를 그냥 복사하는 걸 얕은 복사라고 한다.

ls2=ls1 이렇게만 하면

똑같은 공간의 값을 참조하게 되는 셈이다.

그래서 하나를 바꾸면 다른 것들도

모조리 같이 바뀌게 된다.

그리고 .copy()를 이용하는 것을 깊은 복사!

보면 ls1은 ls3의 값을 복사했지만

깊은 복사이기 때문에

따로 10이라고 정의를 해줘도 하나만 바뀐다.

 

얕은 복사: 원본도 수정되어버림.

깊은 복사: 원본 수정이 되지 않음.

연동없이 개별적으로 복사 가능.

 

*

연속으로 데이터를 만들어야할때는

꼭 깊은 복사를 이용해주자!

 

1-15. 튜플과 딕셔너리 데이터

튜플은 ls(리스트)처럼 쓰이는 녀석이다.

tp1=(a,b,c)

이런 식의 형태로 많이 쓰이고,

리스트보다 공간을 적게 사용해서 효율적이다.

 

그냥 리스트와 동일한데, tp가 좀 더 

저장공간이 작은 녀석이라고 생각하면 쉽다.

진짜로 적게 쓰는지 

sys.getsizeof(ls) 와 sys.getsizeof(tp)를 

확인해서 보니

 

각각 88바이트, 72바이트를 차지한다.

그리고 딕셔너리!

파이썬 딕셔너리함수 (dic)는 {key:value}로 이뤄진 녀석이다.

그렇기 때문에 위와 같이 1: "one"  (key:value)로 정의를 해줄 수 있다.

 

dic[1]을 출력하면, 키 값에 해당하는 밸류값을 출력한다.

 

*정수와 문자열에만 사용가능

(T,F판별하는 Bool타입같은 거 사용불가)

 

1에 해당하는 value값은 'one'이다.

과일을 과일명(key값), 숫자(value값)으로 정의한 뒤 

각각의 키값과 밸류값을 추출해보았다.

해당하는 것들만 정상적으로 출력이 되고 있다.

 

in이라는 함수를 사용해서 파이썬 딕셔너리함수 안에

그 키값이 존재하는지 확인할 수 있다.

fruit으로 정의해둔 것들 안에 'strawberry'는 없음으로 false로 출력.

 

*키(key)를 기준으로 확인함.

 

만약 빈 공간을 만들고 싶다면 어떻게 해야할까.

 

1. 괄호 안에 아무것도 안 적어준다.

fruit={}

 

2. clear함수를 활용한다.

→ 이미 딕셔너리 안에 값이 세팅된 경우,

그것들을 전부 없애고, 텅 빈 공간을 만들어준다.

 

 

이제 본격적으로 다른 기능을 활용해보겠다.

위와는 다른 예제인데 데이터를

[12]번 줄은 list식으로 표기해놓은 것.

[13]번 줄은 dict식으로 표기해놓은 것이다.

 

*

1-16. 데이터 형변환

 

list를 파이썬 딕셔너리로 바꿔주는 것은

위와 같은 형태로 가능하다.

 

반응형

관련글 더보기

댓글 영역