사전

문제 신고 소스 보기 Nightly · 7.3 · 7.2 · 7.1 · 7.0 · 6.5

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

d = {0: "x", 2: "z", 1: "y"}
[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, "y"), (2, "b")]

사전을 만드는 방법에는 네 가지가 있습니다.

  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. 합집합 표현식 x | y는 두 개의 기존 사전을 결합하여 새 사전을 생성합니다. 두 사전에 공통된 키 k가 있으면 오른쪽 사전의 키 값 (즉, y[k])이 우선합니다. 연합 연산자의 |= 변형은 사전을 인플레이스 수정합니다. 예:
    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 기본값은 None
키를 찾을 수 없는 경우 None 대신 사용할 기본값입니다.

항목

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)

사전에서 key를 삭제하고 연결된 값을 반환합니다. 이 키가 있는 항목이 발견되지 않으면 아무것도 삭제하고 지정된 default 값을 반환합니다. 기본값이 지정되지 않은 경우 실패합니다.

매개변수

매개변수 설명
key 필수
바로 키입니다.
default 기본값은 unbound
키가 없는 경우의 기본값입니다.

popitem

tuple dict.popitem()

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

setdefault

unknown dict.setdefault(key, default=None)

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

매개변수

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

update

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

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

매개변수

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

list dict.values()

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