<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                # Swift 字典 > 原文: [https://www.programiz.com/swift-programming/dictionary](https://www.programiz.com/swift-programming/dictionary) #### 在本教程中,您將了解什么是字典,如何創建字典以及字典中的一些常見操作。 在先前的 [Swift Arrays](/swift-programming/arrays "Swift Arrays") 文章中,我們了解了如何在變量/常量中存儲多個值。 在本文中,我們將討論如何將數據/值存儲為鍵值對。 ## 什么是字典? 字典只是一個容器,可以無序地將多個數據作為鍵值對保存。 從[設置](/swift-programming/sets "Swift Sets")開始,每個值都與唯一鍵相關聯并將數據存儲在無序列表中,即,您獲得的元素順序與在字典中定義項目的順序不同。 當您需要在集合中查找帶有某些標識符的值時,可以使用字典而不是數組。 假設您可能要搜索國家的首都。 在這種情況下,您將創建一個鍵為國家和值為首府城市的字典。 現在,您可以通過搜索關鍵國家來從集合中獲取首都。 簡單來說,您將鍵與值配對。 在上面的示例中,我們將一個國家與其首都配對。 * * * ## 如何在 Swift 中聲明字典? 您可以通過在方括號`[]`中指定`key:value`數據類型來創建空字典。 ### 示例 1:聲明一個空字典 ```swift let emptyDic:[Int:String] = [:] print(emptyDic) ``` 運行該程序時,輸出為: ```swift [:] ``` **或** 您還可以如下定義一個空字典: ```swift let emptyDic:Dictionary<Int, String> = [:] print(emptyDic) ``` 在上面的程序中,我們用類型為`Int`的鍵和類型為`String`的值聲明了類型字典的常量`emptyDic`,并使用 0 值對其進行了初始化。 **或** 由于 Swift 是一種類型推斷語言,因此您也可以不指定數據類型而直接創建字典,但是必須使用一些值進行初始化,以便編譯器可以將其類型推斷為: * * * ### 示例 2:聲明具有某些值的字典 ```swift let someDic = ["a":1, "b":2, "c":3, "d":4, "e":5, "f":6, "g":7, "h":8, "i":9] print(someDic) ``` 運行該程序時,輸出為: ```swift ["b": 2, "a": 1, "i": 9, "c": 3, "e": 5, "f": 6, "g": 7, "d": 4, "h": 8] ``` 在上面的程序中,我們聲明了一個字典,但沒有明確定義類型,而是使用一些默認元素進行了初始化。 元素在鍵值對中,其中`key`的類型為`String`,`value`的類型為`Int`。 由于字典是無序列表,因此`print(someDic)`以不同于定義的順序輸出值。 * * * ### 示例 3:從兩個數組創建字典 我們還可以使用數組創建字典。 ```swift let customKeys = ["Facebook", "Google", "Amazon"] let customValues = ["Mark", "Larry", "Jeff"] let newDictionary = Dictionary(uniqueKeysWithValues: zip(customKeys,customValues)) print(newDictionary) ``` 運行該程序時,輸出為: ```swift ["Amazon": "Jeff", "Google": "Larry", "Facebook": "Mark"] ``` 在上述程序中,`zip(customKeys,customValues)`創建一個新的*元組*序列,每個元素表示來自`customKeys`和`customValues`的值。 要了解有關`zip`的工作原理的更多信息,請訪問 Swift `zip`。 現在,我們可以將此序列傳遞給`Dictionary(uniqueKeysWithValues:)`初始化器,并創建一個新的`Dictionary`。 因此,`print(newDictionary)`輸出具有兩個數組元素的新字典。 * * * ## 如何在 Swift 中訪問字典元素? 作為數組,您可以使用*下標語法*來訪問字典的元素。 您需要在字典名稱之后立即在方括號中包括要訪問的值的鍵。 ### 示例 4:訪問字典的元素 ```swift 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"]) ``` 運行該程序時,輸出為: ```swift Optional(1) Optional(8) ``` 您還可以使用`for-in`循環訪問字典的元素。 * * * ### 示例 5:使用`for-in`循環訪問字典的元素 ```swift 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)") } ``` 運行該程序時,輸出為: ```swift 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:在字典中設置元素 ```swift var someDictionary = ["Nepal":"Kathmandu", "China":"Beijing", "India":"NewDelhi"] someDictionary["Japan"] = "Tokyo" print(someDictionary) ``` 運行該程序時,輸出為: ```swift ["Japan": "Tokyo", "China": "Beijing", "India": "NewDelhi", "Nepal": "Kathmandu"] ``` 在上面的示例中,我們使用下標語法在給定的字典中創建了一個新的鍵值對`"Japan": "Tokyo"`。 您還可以使用下標語法將與特定鍵關聯的值更改為: * * * ### 示例 7:更改字典的元素 ```swift var someDictionary = ["Nepal":"Kathmandu", "China":"Beijing", "India":"NewDelhi"] someDictionary["Nepal"] = "KATHMANDU" print(someDictionary) ``` 運行該程序時,輸出為: ```swift ["China": "Beijing", "India": "NewDelhi", "Nepal": "KATHMANDU"] ``` * * * ## 一些有用的內置字典函數&屬性 ### 1\. `isEmpty` 此屬性確定字典是否為空。 如果字典不包含任何值,則返回`true`,否則返回`false`。 #### 示例 8:`isEmpty`如何工作? ```swift let someDictionary = ["Nepal":"Kathmandu", "China":"Beijing", "India":"NewDelhi"] print(someDictionary.isEmpty) ``` 運行該程序時,輸出為: ```swift false ``` * * * ### 2.`first` 此屬性用于訪問字典的第一個元素。 #### 示例 9:`first`如何工作? ```swift let someDictionary = ["Nepal":"Kathmandu", "China":"Beijing", "India":"NewDelhi"] print(someDictionary.first) ``` 運行該程序時,輸出為: ```swift Optional((key: "China", value: "Beijing")) ``` * * * ### 3.`count` 此屬性返回字典中的元素總數(鍵值對)。 #### 示例 10:`count`如何工作? ```swift let someDictionary = ["Nepal":"Kathmandu", "China":"Beijing", "India":"NewDelhi"] print(someDictionary.count) ``` 運行該程序時,輸出為: ```swift 3 ``` * * * ### 4.`keys` 此屬性返回字典中的所有鍵。 #### 示例 11:`keys`如何工作? ```swift var someDictionary = ["Nepal":"Kathmandu", "China":"Beijing", "India":"NewDelhi"] let dictKeys = Array(someDictionary.keys) print(dictKeys) ``` 運行該程序時,輸出為: ```swift ["China", "India", "Nepal"] ``` 同樣,您可以使用值來獲取字典中的所有值。 * * * ### 5\. `removeValue` 此函數從字典中刪除并返回用鍵指定的值。 這兩個鍵值對將從字典中刪除。 #### 示例 12:`removeValue()`如何工作? ```swift var someDictionary = ["Nepal":"Kathmandu", "China":"Beijing", "India":"NewDelhi"] let val = someDictionary.removeValue(forKey: "Nepal") print(val) print(someDictionary) ``` 運行該程序時,輸出為: ```swift Optional("Kathmandu") ["India": "NewDelhi", "China": "Beijing"] ``` 同樣,您也可以使用`removeAll`函數清空字典。 * * * ## 要記住的事情 **1\.** 在 Swift 中使用下標語法訪問字典元素時,必須確保鍵位于索引中,否則將獲得`nil`值。 讓我們在示例中看一下: ### 示例 13:鍵必須存在 ```swift var someDictionary = ["Nepal":"Kathmandu", "China":"Beijing", "India":"NewDelhi"] let val = someDictionary["Japan"] print(val) ``` 運行該程序時,輸出為: ```swift nil ``` 在上述程序中,沒有鍵`Japan`。 因此,當您嘗試訪問鍵`Japan`的值時,將獲得`nil`值。 **2\.** 同樣,鍵值在 Swift 中區分大小寫,因此您必須確保使用正確的大小寫鍵/值。 否則,您將獲得`nil`值。 讓我們在示例中看一下: ### 示例 14:鍵區分大小寫 ```swift var someDictionary = ["Nepal":"Kathmandu", "China":"Beijing", "India":"NewDelhi"] let val = someDictionary["nepal"] print(val) ``` 運行該程序時,輸出為: ```swift nil ``` 在以上程序中,沒有`nepal`。 因此,當您嘗試訪問鍵`nepal`的值時,您將獲得`nil`值。 **3\.** 如果給定鍵的值不存在,則還有一種方法可以提供默認值。 讓我們在示例中看一下: ### 示例 12:不存在的鍵的默認值 ```swift var someDictionary = ["Nepal":"Kathmandu", "China":"Beijing", "India":"NewDelhi"] let val = someDictionary["nepal", default:"Not Found"] print(val) ``` 運行該程序時,輸出為: ```swift Not Found ``` 在上述程序中,我們在訪問字典時在`default`參數中指定了**值**。 如果鍵的值不存在,則返回默認值,否則返回該值。 在我們的例子中,鍵`nepal`不存在,因此程序返回`Not Found`。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看