【问题标题】:From which direction swift starts to read dictionaries? [duplicate]swift从哪个方向开始阅读字典? [复制]
【发布时间】:2023-03-15 04:30:02
【问题描述】:

我想问的问题,swift从哪个方向开始读取字典或数组

当我放一些这样的代码时

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]

这不是确切的顺序,所以你知道为什么 swift 这样做吗?有时它也会有所不同!

我猜它可能是按字符串顺序执行的,然后我尝试了,但我认为不是,那么为什么 swift 这样做呢?

【问题讨论】:

标签: swift dictionary


【解决方案1】:

就像 NSDictionary 一样,Swift 字典不是按键或值排序的。顺序将始终未指定。 如果您需要对键进行排序,您唯一的选择是拥有一个有序键数组,并在该数组上使用 for 循环。

来自苹果文档 (https://developer.apple.com/library/content/documentation/Swift/Conceptual/Swift_Programming_Language/CollectionTypes.html#//apple_ref/doc/uid/TP40014097-CH8-ID105)

字典

字典存储相同类型的键和 没有定义排序的集合中相同类型的值。每个 value 与唯一键相关联,该键充当标识符 字典中的那个值。与数组中的项不同,a 中的项 字典没有指定的顺序。当你使用字典时 您需要根据它们的标识符查找值,大致相同 使用现实世界词典查找定义的方式 一个特定的词。

【讨论】:

  • 你是对的。我会编辑答案。谢谢
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-21
  • 2017-03-14
相关资源
最近更新 更多