English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Swift 딕셔너리 (Dictionary)

이 튜토리얼에서는 딕셔너리가 무엇인지, 딕셔너리를 생성하는 방법, 딕셔너리에서 일반적인操作을 배울 것입니다.

이전 기사에서Swift 배열이 기사에서는 변수에서 배웠습니다./상수에 여러 값을 저장합니다. 이 기사에서는 데이터를 어떻게 처리할지에 대해 논의할 것입니다./값은 키 값对人体로 저장됩니다.

딕셔너리는 무엇인가요?

딕셔너리는 여러 데이터를 키 값对人体로 비정렬로 저장할 수 있는 컨테이너입니다.

각 값은 독특한 키와 연결되어 있으며, 키 값对人体로 데이터를 저장합니다.집합다른 말로, 요소를 얻는 순서는 딕셔너리에서 정의한 항목의 순서와 다릅니다.

집합에서 특정 식별자를 가진 값을 찾아야 할 때, 배열 대신 딕셔너리를 사용할 수 있습니다. 예를 들어, 이 나라의 수도를 검색하고 싶다면, 국가와 수도 도시의 키 값对人体 딕셔너리를 생성합니다. 이제 '국가' 키를 통해 수도를 값으로 얻을 수 있습니다.

간단히 말해서, 키와 값을 짝짓습니다. 위의 예제에서는 국가와 수도를 짝짓았습니다.

Swift에서 딕셔너리를 어떻게 선언할 수 있습니까?

구현할 디렉토리를 스택에 추가하여 빈 디렉토리를 생성할 수 있습니다.

예제1빈 딕셔너리를 선언

let emptyDic:[Int:String] = [:]
print(emptyDic)

이 프로그램을 실행하면, 출력은 다음과 같습니다:

[:]
또는

또한 다음과 같이 빈 딕셔너리를 정의할 수 있습니다:

let emptyDic:Dictionary<Int, String> = [:]
print(emptyDic)

위 프로그램에서 Int 타입의 key와 String 타입의 value를 가진 dictionary 타입의 상수 emptyDic를 선언하고 0 값을 초기화했습니다.

또는

Swift는 타입 추론 언어이므로, 데이터 타입을 명시적으로 지정하지 않고 딕셔너리를 생성할 수도 있지만, 컴파일러가 타입을 추론하기 위해 초기화할 값이 필요합니다:

예제2딕셔너리를 선언

let someDic = ["a":1, "b":2, "c":3, "d":4, "e":5, "f":6, "g":7, "h":8, "i":9]
print(someDic)

이 프로그램을 실행하면, 출력은 다음과 같습니다:

["b": 2, "a": 1, "i": 9, "c": 3, "e": 5, "f": 6, "g": 7, "d": 4, "h": 8]

위 프로그램에서 딕셔너리를 선언했습니다만, 타입을 명시적으로 정의하지 않고 기본 요소로 초기화했습니다.

요소는 key:value 쌍에 위치하며, key의 타입은 String이고 value의 타입은 Int입니다. 딕셔너리는 순서가 없기 때문에 print(someDic)는 정의된 순서와 다른 순서로 값을 출력합니다.

예제3두 개의 배열에서 딕셔너리 생성

또한 배열을 사용하여 딕셔너리를 생성할 수 있습니다.

let customKeys = ["Facebook", "Google", "Amazon"]
let customValues = ["Mark", "Larry", "Jeff"]
let newDictionary = Dictionary(uniqueKeysWithValues: zip(customKeys,customValues))
print(newDictionary)

이 프로그램을 실행하면, 출력은 다음과 같습니다:

["Amazon": "Jeff", "Google": "Larry", "Facebook": "Mark"]

위 프로그램에서 zip(customKeys,customValues)는 customKeys와 customValues에서来的 튜플 시퀀스를 생성합니다. 각 요소는 customKeys와 customValues의 값을 대표합니다.

이제 이 시퀀스를 Dictionary(Unique eKeysWithValues:) 초기화 옵션에 전달하여 새로운 딕셔너리를 생성할 수 있습니다. 따라서 print(NewDictionary)는 두 개의 배열의 요소를 포함한 새로운 딕셔너리를 출력합니다.

Swift에서 딕셔너리 요소에 어떻게 접근할 수 있습니까?

배열로 사용하여 딕셔너리의 요소에 인덱스 문법을 사용하여 접근할 수 있습니다. 접근하고자 하는 값을 가진 키를 딕셔너리 이름 뒤의 괄호에 포함해야 합니다。

예제4:딕셔너리의 요소에 접근하기

let someDic = ["a":1, "b":2, "c":3, "d":4, "e":5, "f":6, "g":7, "h":8, "i":9]
print(someDic["a"])
print(someDic["h"])

이 프로그램을 실행하면, 출력은 다음과 같습니다:

Optional(1)
Optional(8)

for 반복으로 딕셔너리의 요소를 방문할 수도 있습니다.-for 반복으로 딕셔너리의 요소를 방문합니다。

예제5:for 반복으로 딕셔너리의 요소를 방문합니다-in 반복으로 딕셔너리의 요소를 방문합니다

let someDic = ["a":1, "b":2, "c":3, "d":4, "e":5, "f":6, "g":7, "h":8, "i":9]
for (key,value) in someDic {
    print("key:\(key) value:\(value)")
}

이 프로그램을 실행하면, 출력은 다음과 같습니다:

key:b value:2
key:a value:1
key:i value:9
key:c value:3
key:e value:5
key:f value:6
key:g value:7

Swift에서 딕셔너리 요소를 어떻게 수정할 수 있습니까?

딕셔너리에 추가할 수 있는 인덱스 문법을 사용할 수 있습니다. 포함해야 할 요소는 다음과 같습니다: 새 키 인덱스 인덱스로 사용하여 Dictionary 타입에 새로운 값을 할당합니다。

예제6:딕셔너리에 요소를 설정합니다

var someDictionary = ["Nepal":"Kathmandu", "China":"Beijing", "India":"NewDelhi"]
someDictionary["Japan"] = "Tokyo"
print(someDictionary)

이 프로그램을 실행하면, 출력은 다음과 같습니다:

["Japan": "Tokyo", "China": "Beijing", "India": "NewDelhi", "Nepal": "Kathmandu"]

위의 예제에서는 주어진 사전에 새로운 키 값 쌍 "Japan": "Tokyo" 를 생성하는 데 사용하는 인덱스 문법을 사용했습니다.

특정 키와 연결된 값을 변경할 수도 있습니다:

예제7:딕셔너리의 요소를 변경합니다

var someDictionary = ["Nepal":"Kathmandu", "China":"Beijing", "India":"NewDelhi"]
someDictionary["Nepal"] = "KATHMANDU"
print(someDictionary)

이 프로그램을 실행하면, 출력은 다음과 같습니다:

["China": "Beijing", "India": "NewDelhi", "Nepal": "KATHMANDU"]

딕셔너리 내장 함수와 속성

1. isEmpty 속성 - 딕셔너리가 비어 있는지�断하기

이 속성은 딕셔너리가 비어 있는지 여부를 결정합니다. 딕셔너리에 어떤 값도 포함되어 있지 않으면 true를 반환하고, 그렇지 않으면 false를 반환합니다。

예제8:isEmpty는 어떻게 작동하는가?

let someDictionary = ["Nepal":"Kathmandu", "China":"Beijing", "India":"NewDelhi"]
print(someDictionary.isEmpty)

이 프로그램을 실행하면, 출력은 다음과 같습니다:

false

2.first 속성 - 딕셔너리의 첫 번째 요소를 반환합니다

이 속성은 딕셔너리의 첫 번째 요소에 접근하는 데 사용됩니다。

예제9first 속성은 어떻게 작동합니까?

let someDictionary = ["Nepal":"Kathmandu", "China":"Beijing", "India":"NewDelhi"]
print(someDictionary.first)

이 프로그램을 실행하면, 출력은 다음과 같습니다:

Optional((key: "China", value: "Beijing"))

3.count - 디�셔너리 요소 총수를 반환합니다

이 속성은 딕셔너리의 요소 총수(키값 쌍)를 반환합니다.

예제10count 속성은 어떻게 작동합니까?

let someDictionary = ["Nepal":"Kathmandu", "China":"Beijing", "India":"NewDelhi"]
print(someDictionary.count)

이 프로그램을 실행하면, 출력은 다음과 같습니다:

3

4.keys 속성 - 디�셔너리의 모든 키를 반환합니다

이 속성은 딕셔너리의 모든 키를 반환합니다.

예제11keys 함수는 어떻게 작동합니까?

var someDictionary = ["Nepal":"Kathmandu", "China":"Beijing", "India":"NewDelhi"]
let dictKeys = Array(someDictionary.keys)
print(dictKeys)

이 프로그램을 실행하면, 출력은 다음과 같습니다:

["China", "India", "Nepal"]

같이, 다음과 같이 사용할 수도 있습니다.  values 속성을 사용하여 딕셔너리의 모든 값을 가져옵니다.

5. removeValue

이 함수는 딕셔너리에서 키를 사용하여 값을 제거하고 반환합니다. 이 두 키값 쌍이 딕셔너리에서 제거됩니다.

예제12removeValue() 함수는 어떻게 작동합니까?

var someDictionary = ["Nepal":"Kathmandu", "China":"Beijing", "India":"NewDelhi"]
let val = someDictionary.removeValue(forKey: "Nepal")
print(val)
print(someDictionary)

이 프로그램을 실행하면, 출력은 다음과 같습니다:

Optional("Kathmandu")
["India": "NewDelhi", "China": "Beijing"]

같이, 다음과 같이 사용할 수도 있습니다. removeAll 함수를 통해 딕셔너리를 비우습니다.

주의사항

1.Swift에서 딕셔너리의 요소에 인덱스 문법을 사용하여 접근할 때, 키가 인덱스에 위치해야 합니다. 그렇지 않으면 nil 값을 얻게 됩니다.nil값이 있습니다. 예제에서 보겠습니다:

예제13키는 존재해야 합니다.

var someDictionary = ["Nepal":"Kathmandu", "China":"Beijing", "India":"NewDelhi"]
let val = someDictionary["Japan"]
print(val)

이 프로그램을 실행하면, 출력은 다음과 같습니다:

nil

위 프로그램에서 키가 없습니다. Japan 따라서, 'Japan ”이면 nil 값을 얻게 됩니다.

2.같이, Swift에서는 키값이 대소문자 구분됩니다. 따라서 올바른 대소문자 키를 사용해야 합니다./값이 없습니다. 예제에서 보겠습니다:

예제14키는 대소문자 구분됩니다.

var someDictionary = ["Nepal":"Kathmandu", "China":"Beijing", "India":"NewDelhi"]
let val = someDictionary["nepal"]
print(val)

이 프로그램을 실행하면, 출력은 다음과 같습니다:

nil

위 프로그램에서 'nepal' 키가 없습니다. 따라서 'nepal' 키에 접근하려고 시도할 때, nil 값을 얻게 됩니다.

3.주어진 키의 값이 존재하지 않으면 기본 값을 제공하는 또 다른 방법이 있습니다. 예제에서 보겠습니다:

예제12:없는 키의 기본 값

var someDictionary = ["Nepal":"Kathmandu", "China":"Beijing", "India":"NewDelhi"]
let val  = someDictionary["nepal", default:"Not Found"]
print(val)

이 프로그램을 실행하면, 출력은 다음과 같습니다:

Not Found

위 프로그램에서, 딕셔너리에 접근할 때 기본 파라미터에 default 값을 지정했습니다. 키의 값이 존재하지 않으면 기본 값을 반환하고, 존재하면 해당 값을 반환합니다

이 예제에서, 키“nepal”존재하지 않으므로 프로그램이 default 값을 반환합니다: Not Found