如何从字典Swift中打印一些键

时间:2016-06-20 00:46:12

标签: swift dictionary

我正在尝试一些代码,这就是我想要的:我想从字典中打印密钥,但前提是这些密钥的值大于10.这是我的代码:

var alumnos = ["jose": 20, "leo": 56, "hadad": 8]

在这种情况下,只有" jose"和" leo"必须打印,因为它们的值超过10。

3 个答案:

答案 0 :(得分:0)

你有没有试过这样的事情:

for (key, value) in alumnos {
   if value > 10 {
      print(key)
   }
}

你也可以把它变成这样的函数:

func printKeyForValueGreaterThan10<T: Hashable>(dict: [T: Int]) {
  for (key, value) in dict {
    if value > 10 {
      print(key)
    }
  }
}

通过传递你的字典来调用它。

printKeyForValueGreaterThan10(dict: alumnos)

答案 1 :(得分:0)

您可以使用更高级别的功能获取感兴趣的键:

let keysOfValuesAboveTen = alumnos.filter {$0.1 > 10}.map {$0.0}

您可以使用分隔符创建一个字符串,如下所示:

let str = alumnos.filter {$0.1 > 10}.map {$0.0}.joinWithSeparator(", ")

答案 2 :(得分:0)

这是解决此问题的最基本方法:

for (stringKey, intValue) in alumnos { if intValue > 10 { print(stringKey) } }