주요 콘텐츠

dictionary

고유 키를 값에 매핑하는 사전

다음보다 권장:

설명

사전은 데이터를 으로 저장한 일종의 맵으로, 이 값은 대응하는 고유한 를 사용하여 액세스할 수 있습니다. 키와 값의 각 쌍은 항목에 해당합니다. 사전을 사용하여 키와 연결된 값을 효율적으로 조회할 수 있습니다.

생성

설명

d = dictionary(keys,values)는 지정된 키와 값을 사용하여 사전을 만듭니다. 그 결과로 만들어지는 사전 d는 1×1 스칼라 객체입니다. 동일한 키에 여러 값을 할당할 경우 그러한 값 중 마지막 값만 할당됩니다. 기존 키에 값을 새로 할당하면 해당 항목의 값을 덮어쓰게 됩니다.

values가 스칼라가 아닌 한, keysvalues는 동일한 크기여야 합니다. 이때 keys의 각 요소가 values에 대한 키가 됩니다. 키와 값이 배열인 경우 항목 개수는 키-값 쌍 개수와 동일합니다.

keysvalues는 임의의 유형일 수 있지만 키 유형과 값 유형은 동일해야 합니다. 사전의 모든 키와 모든 값은 각 데이터형을 공유하거나 구성된 데이터형으로 변환될 수 있어야 합니다. 일부 새 항목이 구성된 데이터형을 동일하게 갖지 않는 경우 MATLAB®은 항목 유형을 변환하려고 시도합니다. 키와 값은 동일한 데이터형일 필요가 없습니다. dictionary는 문자형 행 벡터로 지정된 키와 값을 string형 스칼라로 변환합니다.

서로 다른 유형이 함께 사용된 키 또는 값을 저장하려면 셀형 배열을 사용하십시오. 셀을 값으로 사용하는 사전에서 룩업을 수행하면 사전은 셀형 배열을 반환합니다. 셀형 배열의 내용에는 소괄호 대신 중괄호({})를 사용하여 직접 액세스할 수 있습니다. (R2023a 이후)

예제

d = dictionary(k1,v1,...,kN,vN)은 지정된 키-값 쌍을 포함하는 사전을 만듭니다. 동일한 키의 여러 인스턴스를 지정할 경우 마지막 키-값 쌍만 할당됩니다.

d = dictionary는 아무런 키 또는 값을 갖지 않는, 구성되지 않은 사전을 만듭니다.

입력값 없이 사전을 생성하면 구성되지 않은 상태가 되고 유형도 지정되지 않습니다. 구성되지 않은 사전에 항목을 추가하면 키의 데이터형과 값의 데이터형이 지정됩니다.

예제

입력 인수

모두 확장

키로, 스칼라, 배열 또는 셀형 배열로 지정됩니다. keys의 개별 요소는 동일한 데이터형 또는 호환되는 데이터형을 갖는 스칼라여야 합니다.

keys가 배열인 경우 각 요소는 새 키를 생성합니다. keys에 중복 요소가 있으면 마지막 중복 요소에 대응되는 값이 할당됩니다.

값으로, 스칼라, 배열 또는 셀형 배열로 지정됩니다. values의 개별 요소는 동일한 데이터형을 갖는 스칼라여야 합니다. 값이 이종 값이거나 비 스칼라여야 하는 경우 셀형 배열을 사용하십시오.

values가 배열인 경우 각 요소는 새 값을 생성합니다. keys가 배열이고 values가 스칼라인 경우 해당 값은 keys의 각 키에 매핑됩니다.

키-값 쌍으로, 키와 값 스칼라 및 배열의 개별 인수로 지정됩니다. 모든 키 인수는 동일한 데이터형을 갖거나 호환되는 데이터형을 가져야 합니다. 모든 값 인수는 동일한 데이터형을 갖거나 호환되는 데이터형을 가져야 합니다.

출력 인수

모두 확장

사전으로, dictionary 객체로 반환됩니다. 항목은 추가된 순서대로 저장됩니다.

사용

dictionary를 사용하여 사전 d를 만듭니다. 그런 다음, 다음 구문 중 하나를 사용하여 d에 액세스하거나 변경할 수 있습니다.

설명

valueOut = d(keys)keys와 연결된 값을 조회합니다.

d(keys) = newValuesnewValues의 요소를 keys에 대응되는 값으로 지정된 항목에 할당합니다. 지정된 키가 사전에 없는 경우 새 항목이 추가됩니다. 동일한 키에 여러 값을 할당할 경우 그러한 값 중 마지막 값만 할당됩니다. 기존 키에 값을 새로 할당하면 해당 항목의 값을 덮어쓰게 됩니다.

d(keys) = []keys와 연결된 항목을 사전에서 제거합니다.

valueOut = d{keys}keys와 연결된 값을 조회하고, 셀의 내용을 반환합니다. keys가 배열인 경우 쉼표로 구분된 해당 값 목록이 반환됩니다. 사전 값이 셀이 아닌 다른 데이터형으로 구성된 경우 이 구문은 오류를 발생시킵니다.

d{keys} = newValuesnewValues의 요소를 포함한 셀을 해당 키 값으로 지정된 항목에 할당합니다. 사전 값이 셀이 아닌 다른 데이터형으로 구성된 경우 이 구문은 오류를 발생시킵니다.

객체 함수

configureDictionary지정된 키 유형과 값 유형으로 사전 만들기
insertAdd entries to a dictionary
lookupFind value in dictionary by key
remove사전 항목 제거
entriesKey-value pairs of dictionary
keys사전의 키
values사전의 값
typesTypes of dictionary keys and values
numEntriesNumber of key-value pairs in dictionary
isConfiguredDetermine if dictionary has types assigned to keys and values
isKey사전에 키가 포함되어 있는지 확인

예제

모두 축소

서로 다른 차량 이름을 바퀴 수에 매핑하는 사전을 만듭니다.

이름으로 구성된 배열과 그에 대응하는 바퀴 수로 구성된 배열을 만듭니다.

names = ["Unicycle" "Bicycle" "Tricycle"];
wheels = [1 2 3];

이름을 키로 사용하고 바퀴 수를 값으로 사용하여 사전을 만듭니다.

d = dictionary(names,wheels)
d =

  dictionary (string ⟼ double) with 3 entries:

    "Unicycle" ⟼ 1
    "Bicycle"  ⟼ 2
    "Tricycle" ⟼ 3

키를 인덱스로 사용하여 사전 값에 액세스합니다.

d("Tricycle")
ans = 
3

새 값을 기존 키에 할당하여 사전 항목을 수정합니다.

d("Bicycle") = 2.5
d =

  dictionary (string ⟼ double) with 3 entries:

    "Unicycle" ⟼ 1
    "Bicycle"  ⟼ 2.5000
    "Tricycle" ⟼ 3

값을 새 키에 할당하여 사전에 새 항목을 추가합니다.

d("Car") = 4
d =

  dictionary (string ⟼ double) with 4 entries:

    "Unicycle" ⟼ 1
    "Bicycle"  ⟼ 2.5000
    "Tricycle" ⟼ 3
    "Car"      ⟼ 4

키와 값으로 구성된 배열을 사용하여 여러 항목을 추가합니다.

names2 = ["Truck" "Motorcycle" "Sixteen-Wheeler"];
wheels2 = [4 2 16];
d(names2) = wheels2
d =

  dictionary (string ⟼ double) with 7 entries:

    "Unicycle"        ⟼ 1
    "Bicycle"         ⟼ 2.5000
    "Tricycle"        ⟼ 3
    "Car"             ⟼ 4
    "Truck"           ⟼ 4
    "Motorcycle"      ⟼ 2
    "Sixteen-Wheeler" ⟼ 16

빈 배열을 기존 키에 할당하여 항목을 제거합니다.

d("Truck") = []
d =

  dictionary (string ⟼ double) with 6 entries:

    "Unicycle"        ⟼ 1
    "Bicycle"         ⟼ 2.5000
    "Tricycle"        ⟼ 3
    "Car"             ⟼ 4
    "Motorcycle"      ⟼ 2
    "Sixteen-Wheeler" ⟼ 16

사전은 구성된 데이터형과 일치하도록 새 항목을 자동으로 변환합니다. 변환이 가능하지 않으면 MATLAB에서 오류를 발생시킵니다.

d('Spider-Car') = "8"
d =

  dictionary (string ⟼ double) with 7 entries:

    "Unicycle"        ⟼ 1
    "Bicycle"         ⟼ 2.5000
    "Tricycle"        ⟼ 3
    "Car"             ⟼ 4
    "Motorcycle"      ⟼ 2
    "Sixteen-Wheeler" ⟼ 16
    "Spider-Car"      ⟼ 8

사전 값은 동일한 유형이어야 합니다. 하지만 서로 다른 유형의 데이터는 사전에 셀로 저장할 수 있습니다.

다양한 데이터형의 값을 포함하는 셀형 배열과 키로 구성된 string형 배열을 만듭니다.

myValues = {datetime,@myfun,struct,[1 2 3 4]}
myValues=1×4 cell array
    {[24-Jan-2026 19:18:05]}    {@myfun}    {1×1 struct}    {[1 2 3 4]}

myKeys = ["my birthday" "my favorite function" "a structure" "numeric array"]
myKeys = 1×4 string
    "my birthday"    "my favorite function"    "a structure"    "numeric array"

지정된 키와 값을 사용하여 사전을 만듭니다.

d = dictionary(myKeys,myValues)
d =

  dictionary (string ⟼ cell) with 4 entries:

    "my birthday"          ⟼ {[24-Jan-2026 19:18:05]}
    "my favorite function" ⟼ {@myfun}
    "a structure"          ⟼ {1×1 struct}
    "numeric array"        ⟼ {[1 2 3 4]}

values 함수를 사용하여 값을 셀형 배열로 추출합니다.

values(d)
ans=4×1 cell array
    {[24-Jan-2026 19:18:05]}
    {                @myfun}
    {1×1 struct            }
    {[             1 2 3 4]}

셀 내부에 값으로 저장된 내용을 중괄호({})를 사용하여 직접 조회합니다.(R2023a 이후)

d{"numeric array"}
ans = 1×4

     1     2     3     4

마찬가지로 중괄호({})를 사용하여 임의의 데이터형의 새 항목을 셀 값이 있는 기존 사전에 추가할 수 있습니다.

d{"a new entry"} = table
d =

  dictionary (string ⟼ cell) with 5 entries:

    "my birthday"          ⟼ {[24-Jan-2026 19:18:05]}
    "my favorite function" ⟼ {@myfun}
    "a structure"          ⟼ {1×1 struct}
    "numeric array"        ⟼ {[1 2 3 4]}
    "a new entry"          ⟼ {0×0 table}

configureDictionary를 사용하여, 구성된 빈 사전을 생성합니다.

d = configureDictionary("string","double")
d =

  dictionary (string ⟼ double) with no entries.

R2023b 이전: 원하는 유형의 빈 입력값을 할당합니다. 예: d = dictionary(string([]),[]).

데이터형이 일치하거나 구성된 사전의 데이터형으로 변환할 수 있으면 새 사전 항목을 추가할 수 있습니다.

d("Unicycle") = 1;
d("Bicycle") = 2;
d("Tricycle") = 3
d =

  dictionary (string ⟼ double) with 3 entries:

    "Unicycle" ⟼ 1
    "Bicycle"  ⟼ 2
    "Tricycle" ⟼ 3

dictionary를 입력값 없이 호출하여, 구성되지 않은 사전을 만듭니다.

d = dictionary
d =

  dictionary with unset key and value types.

구성되지 않은 사전에 항목을 추가하면 MATLAB은 항목의 데이터형을 사용하여 사전을 구성합니다.

names = ["Unicycle" "Bicycle" "Tricycle"];
wheels = [1 2 3];
d(names) = wheels
d =

  dictionary (string ⟼ double) with 3 entries:

    "Unicycle" ⟼ 1
    "Bicycle"  ⟼ 2
    "Tricycle" ⟼ 3

  • 사용자 지정 클래스를 키와 값으로 모두 사용할 수 있습니다. 그러나 인덱싱 또는 크기 쿼리가 오버로드된 클래스나 표준 배열과 다르게 동작하는 클래스를 사용하는 경우에는 사전이 예상대로 동작하지 않을 수 있습니다. 추가적인 정보는 Dictionaries and Custom Classes 항목을 참조하십시오.

  • 항목은 추가된 순서대로 저장되며, 동일한 순서로 반환됩니다. 예를 들어, 다음 3개 항목을 가진 사전을 만들어 보겠습니다.

    d = dictionary("first",1,"second",2,"third",3)
    d =
    
      dictionary (string ⟼ double) with 3 entries:
    
        "first"  ⟼ 1
        "second" ⟼ 2
        "third"  ⟼ 3

    이 사전의 키 또는 값은 항목이 사전에 추가된 순서대로 반환됩니다.

    k = keys(d)
    k = 
    
      3×1 string array
    
        "first"
        "second"
        "third"

    추가 항목을 추가하면 기존 항목의 끝에 추가됩니다.

    d("fourth") = 4
    d =
    
      dictionary (string ⟼ double) with 4 entries:
    
        "first"  ⟼ 1
        "second" ⟼ 2
        "third"  ⟼ 3
        "fourth" ⟼ 4

    항목 값을 업데이트해도 항목 순서에서의 위치는 변경되지 않습니다.

확장 기능

모두 확장

버전 내역

R2022b에 개발됨

모두 확장