2017-02-28 3 views
0

私はこのどの方向から辞書を読み始めるのですか?

let interestingNumber = [ 
    "Square": [1,4,9,16,25], 
    "Prime": [2,3,5,7,11,13], 
    "Fiboannci": [1,1,2,3,5,8], 
    "asd":[2,3,4,5], 
    "zxc":[3,4,5] 
] 

for (key,values) in interestingNumber{ 
    print(values) 
} 

のようないくつかのコードを入れたときに方向迅速な開始は、出力はこれがある

[1, 4, 9, 16, 25] 
[2, 3, 5, 7, 11, 13] 
[1, 1, 2, 3, 5, 8] 
[3, 4, 5] 
[2, 3, 4, 5] 

ある辞書や配列

を読むために、そこから私が聞きたい質問、正確な順序ではないので、なぜ迅速にこれを行うのか知っていますか?時にはそれも違うのです!

私はそれが文字列順であると推測しましたが、私は試みましたが、それもそうではないと思います。

+1

辞書のキーと値のペアの順序は、指定されておらず、完全に実装に依存します。あなたはそれに頼るべきではありません。 – Hamish

+0

ディクショナリは定義されていない順序でキー値を格納しています.. http://stackoverflow.com/questions/29601394/swift-stored-values-order-is-completely-changed-in-dictionary –

答えて

1

NSDictionaryの場合と同様に、スウィフト辞書はキーまたは値で順序付けされていません。注文は常に明記されません。 キーをソートする必要がある場合、唯一のオプションは順序キーの配列を持ち、この配列に対してforループを使用することです。アップルのドキュメントから

https://developer.apple.com/library/content/documentation/Swift/Conceptual/Swift_Programming_Language/CollectionTypes.html#//apple_ref/doc/uid/TP40014097-CH8-ID105

辞書

同じタイプの鍵なしを注文定義とコレクション内の同じタイプの 値の間の辞書を記憶する団体。各 の値は、辞書内の値 の識別子として機能する一意のキーに関連付けられています。配列内の項目とは異なり、辞書 の項目には指定された順序がありません。 の場合は、その識別子に基づいて値を検索する必要があります。 のように、実際の辞書を使用して の単語を定義します。

+0

あなたは正しいです。私は答えを編集します。ありがとうございました –

関連する問題