首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在Swift中遍历字典

在Swift中遍历字典
EN

Stack Overflow用户
提问于 2014-06-09 06:42:55
回答 5查看 230.7K关注 0票数 249

我对Xcode在Swift编程语言指南中给我的这个实验的答案感到有点困惑:

代码语言:javascript
复制
// Use a for-in to iterate through a dictionary (experiment)

let interestingNumbers = [
    "Prime": [2, 3, 5, 7, 11, 13],
    "Fibonacci": [1, 1, 2, 3, 5, 8],
    "Square": [1, 4, 9, 16, 25]
]
var largest = 0
for (kind, numbers) in interestingNumbers {
    for number in numbers {
        if number > largest {
            largest = number
        }
    }
}
largest

我知道,当字典被遍历时,最大的数字被设置为变量largest。然而,我搞不懂为什么Xcode说largest被设置了5次,或者1次,或者3次,这取决于每个测试。

查看代码时,我发现仅在"Prime“中就应该设置6次(2,3,5,7,11,13)。然后,它应该跳过"Fibonacci“中的任何数字,因为这些数字都小于最大值,当前从"Prime”设置为13。然后,它应该设置为16,最后在"Square“中设置为25,总共产生8次。

我是不是漏掉了什么很明显的东西?

EN

回答 5

Stack Overflow用户

发布于 2017-06-22 15:26:55

代码语言:javascript
复制
let dict : [String : Any] = ["FirstName" : "Maninder" , "LastName" : "Singh" , "Address" : "Chandigarh"]
dict.forEach { print($0) }

结果将是

("FirstName","Maninder") ("LastName","Singh") ("Address","Chandigarh")

票数 22
EN

Stack Overflow用户

发布于 2018-10-30 19:55:51

这是一个用户定义的函数,用于遍历字典:

代码语言:javascript
复制
func findDic(dict: [String: String]) {
    for (key, value) in dict {
        print("\(key) : \(value)")
    }
}

findDic(dict: ["Animal": "Lion", "Bird": "Sparrow"])
// prints…
// Animal : Lion 
// Bird : Sparrow
票数 17
EN

Stack Overflow用户

发布于 2016-10-13 01:06:13

以下是该实验的替代方案(Swift 3.0)。这会准确地告诉您哪种类型的数字是最大的。

代码语言:javascript
复制
let interestingNumbers = [
"Prime": [2, 3, 5, 7, 11, 13],
"Fibonacci": [1, 1, 2, 3, 5, 8],
"Square": [1, 4, 9, 16, 25],
]

var largest = 0
var whichKind: String? = nil

for (kind, numbers) in interestingNumbers {
    for number in numbers {
    if number > largest {
        whichKind = kind
        largest = number
    }
  }
}

print(whichKind)
print(largest)

OUTPUT:
Optional("Square")
25
票数 14
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24111627

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档