나의 작은 valley

[Python]사전(Dict) 본문

Computer Science/[Python] 문법 정리

[Python]사전(Dict)

붕옥 아이젠 2022. 7. 3. 21:08
728x90

<사전>
두 객체가 키(key)와 값(Value)로 짝지어서 나열된 형태이다.

 

 

 

<사전 만들기>

d = {}

d ={

       "바나나": "외떡잎식물 생강목 파초과 파초속에 속하는 식물의 총칭으로, 흔히 이 식물의 열매를 “바나나”'라고 칭한                              다.",

       "아이언맨": "많은 사람들이 토니 스타크를 생각하지만 아이언맨의 정체는 나다.",

     }

tip) 마지막 컴마(,)는 무시되지만 남겨두어서 새로 아이템을 추가할 일이 있을 떄를 대비할 수 있다.

 

 

 

< 사전 zip>
d = dict(zip(["one", "two", "three"], [1, 2, 3]))

==> 서로 다른 두 리스트에서 순서대로 가져와 튜플로 합쳐줌.

 

 

 

<키 중복>

d = { "캡틴" ="captain"

        "캡틴" = "나"

}

print(d) ==> "캡틴"="나"

 

comment) 마지막 키값만 남음. 사실 캡틴도 나임

 

 

 

<값의 중복>

허용됨

 

 

 

<키의 조건>

키는 불변 객체만 사용할 수 있음.

d = {["캡틴 아메리카", "아이언맨"]: "나"}                #리스트는 가변 객체

==>

Error: unhashable type: 'list'

 

 

 

<사전 사용방법>

d = { "A": 65, "B": 66, "C": 67, } 

d["B"]

==> 66

 

 

 

<키가 사전에 있는지 확인하는 법>

d = { "A": 65, "B": 66, "C": 67, }

print(d.get("b"))

==> None

 

 

 

<사전은 가변 객체이다.>

d["b"] = 98

cf) 순서까지 유지됨.

 

 

 

<키 이름을 float로 짓는 것은 권장되지 않음.>

I)1과 1.0을 구분하지 않음.

d = {1:"원", 1.0:"일점영:}

==>

1:일점영                    

 

II) 정밀도 문제

d = { 0.1 * 0.1 = "아무말"}

d[0.01]

==>

KeyError: 0.01

 

 

 

<dict 안에 dict 넣기>

d = {"key1"={"key2":{"key3"="value"}}}

d["key1"]["key2"]["key3"]

==>

value

 

cf) 복잡한데 최근에 많이 쓰임.

 

 

 

<키&값 쌍으로 삭제하는 법>

I)

del dict["삭제하고 싶은 키"]

 

II)

dict.pop["삭제하고 싶은 키"]

or

x = dict.pop["삭제하고 싶은 키"]           #키를 빼내서 따로 저장

print(p)

==> p의 값 나옴,

 

 

 

<dict 삭제>

del dict

 

cf)dict를 list로 바꾸면 key만 남음.

 

cf) len, in 함수 모두 key를 기준으로 작동함.

 

 

 

<키들을 모아서 리스트 만드는 법>

list(dict.keys())

 

 

 

<값(values)들을 모아서 리스트 만드는 법>

list(dict.values())

 

 

 

<(키, 값) 튜플의 리스트 만드는 법>

list(dict.items())

728x90

'Computer Science > [Python] 문법 정리' 카테고리의 다른 글

[Python] 조건문 if  (0) 2022.07.04
[Python] 불리언(Boolean)  (0) 2022.07.04
[python]튜플(Tuple), 시퀀스, 집합(Set)  (0) 2022.07.03
[Python] 리스트  (0) 2022.07.03
[python] 문자열  (0) 2022.07.03
Comments