날짜 비워 두기: BazelCon 2023이 10월 24~25일에 Google 뮌헨에서 열립니다. 자세히 알아보기

사전

문제 신고 소스 보기

dict는 결합 매핑 또는 사전을 나타내는 기본 제공 유형입니다. 사전은 d[k]를 사용한 색인 생성과 k in d를 사용한 키 멤버십 테스트를 지원합니다. 두 작업 모두 일정한 시간이 걸립니다. 고정되지 않은 사전은 변경 가능하며 d[k]에 할당하거나 특정 메서드를 호출하여 업데이트할 수 있습니다. 사전은 반복 가능합니다. 반복하면 삽입 순서의 키 시퀀스가 생성됩니다. 반복 순서는 기존 키와 연결된 값을 업데이트해도 영향을 받지 않지만 키를 삭제한 후 다시 삽입하면 영향을 받습니다.
d = {0: 0, 2: 2, 1: 1}
[k for k in d]  # [0, 2, 1]
d.pop(2)
d[0], d[2] = "a", "b"
0 in d, "a" in d  # (True, False)
[(k, v) for k, v in d.items()]  # [(0, "a"), (1, 1), (2, "b")]

사전을 구성하는 방법에는 4가지가 있습니다.

  1. 사전 표현식 {k: v, ...}는 지정된 키-값 항목이 표현식에 표시된 순서대로 삽입되어 있는 새 사전을 생성합니다. 두 개의 키 표현식이 동일한 값을 산출하는 경우 평가가 실패합니다.
  2. 사전 이해 {k: v for vars in seq}는 각 키-값 쌍이 루프 반복 순서로 삽입되는 새로운 사전을 생성합니다. 중복은 허용됩니다. 주어진 키의 첫 번째 삽입은 시퀀스에서의 위치를 결정하고 마지막 키는 연결된 값을 결정합니다.
    {k: v for k, v in (("a", 0), ("b", 1), ("a", 2))}  # {"a": 2, "b": 1}
    {i: 2*i for i in range(3)}  # {0: 0, 1: 2, 2: 4}
    
  3. 기본 제공 dict 함수를 호출하면 지정된 항목이 포함된 사전이 반환되며, 지정된 이름의 인수 인수 앞에 위치 인수가 삽입되어 있습니다. 이해와 마찬가지로 중복 키가 허용됩니다.
  4. union 표현식 x | y는 두 개의 기존 사전을 결합하여 새 사전을 생성합니다. 두 사전의 공통 키 k가 있으면 오른쪽 사전의 키 (즉, y[k]) 값이 적용됩니다. union 연산자의 |= 변형은 해당 위치에서 사전을 수정합니다. 예:
    d = {"foo": "FOO", "bar": "BAR"} | {"foo": "FOO2", "baz": "BAZ"}
    # d == {"foo": "FOO2", "bar": "BAR", "baz": "BAZ"}
    d = {"a": 1, "b": 2}
    d |= {"b": 3, "c": 4}
    # d == {"a": 1, "b": 3, "c": 4}

회원

삭제

None dict.clear()

사전에서 모든 항목을 삭제합니다.

get

unknown dict.get(key, default=None)

key가 사전에 있으면 key 값을, 그렇지 않으면 default를 반환합니다. default를 지정하지 않으면 기본값은 None이므로 이 메서드에서 오류가 발생하지 않습니다.

매개변수

매개변수 설명
key 필수
찾을 키입니다.
default default = None
키를 찾을 수 없는 경우 사용할 None 기본값입니다.

items

list dict.items()

키-값 튜플 목록을 반환합니다.
{2: "a", 4: "b", 1: "c"}.items() == [(2, "a"), (4, "b"), (1, "c")]

list dict.keys()

키 목록을 반환합니다.
{2: "a", 4: "b", 1: "c"}.keys() == [2, 4, 1]

팝업/팝언더

unknown dict.pop(key, default=unbound)

dict에서 key를 삭제하고 연결된 값을 반환합니다. 해당 키가 있는 항목을 찾을 수 없으면 아무것도 삭제하고 지정된 default 값을 반환합니다. 기본값이 지정되지 않은 경우 대신 실패합니다.

매개변수

매개변수 설명
key 필수
키.
default default = unbounded
키가 없으면 기본값입니다.

popitem

tuple dict.popitem()

사전에서 첫 번째 (key, value) 쌍을 삭제하고 반환합니다. popitem는 설정된 알고리즘에서 자주 사용되는 사전을 파괴적으로 반복하는 데 유용합니다. 사전이 비어 있으면 popitem 호출이 실패합니다.

setdefault

unknown dict.setdefault(key, default=None)

key가 사전에 있으면 그 값을 반환합니다. 그렇지 않은 경우 값이 default인 키를 삽입하고 default를 반환합니다. default의 기본값은 None입니다.

매개변수

매개변수 설명
key 필수
키.
default default = None
키가 없는 경우 기본값입니다.

update

None dict.update(pairs=[], **kwargs)

먼저 선택적 인수인 pairs을 사용하여 사전을 업데이트한 다음 선택적 키워드 인수를 사용하여 사전을 업데이트합니다. 위치 인수가 있는 경우 사전, 반복 가능 또는 없음이어야 합니다. dict인 경우 키-값 쌍이 dict에 삽입됩니다. 반복 가능인 경우 쌍의 시퀀스 (또는 길이가 2인 다른 반복 가능 항목)를 제공해야 하며, 각 시퀀스는 삽입할 키-값 쌍으로 취급됩니다. 각 키워드 인수 name=value를 사용하면 이름/값 쌍이 이 dict에 삽입됩니다.

매개변수

매개변수 설명
pairs default = []
사전 또는 항목 목록입니다. 항목은 정확히 2개의 요소(키, 값)가 있는 튜플 또는 목록이어야 합니다.
kwargs 필수 항목
추가 항목의 사전입니다.

list dict.values()

값 목록을 반환합니다.
{2: "a", 4: "b", 1: "c"}.values() == ["a", "b", "c"]