gpt4 book ai didi

swift - 有没有办法在单个打印语句中打印两个/多个变量而不将它们放入字符串中?

转载 作者:行者123 更新时间:2023-11-30 10:41:24 27 4
gpt4 key购买 nike

我的主要目标是对字典进行排序:例如[2: 4, 1: 2, 4: 8, 3: 6] 通过其键,从 1 到 4。就像 [1: 2, 2: 4, 3: 6, 4: 8]

我可以将这些对打印为数组中的项目,但它们是字符串,因此当键进入两位数时,它不会按升序对它们进行正确排序。这就是为什么我觉得如果我可以在同一个语句中打印它们而不将它们放入字符串中,它就会起作用。但如果有更简单的方法我也会采用。

var dict=[2: 4, 1: 2, 4: 8, 3: 6]

var array=[String]()

for (key, value) in dict
{
array.append("\(key):\(value)")
}
array.sort()

print(array)

输出将是:

["1:2", "2:4", "3:6", "4:8"]

这适用于这个,但一旦按键进入两位数,它就会开始说诸如 10 在 2 之前。

最佳答案

我得到["1:2", "2:4", "3:6", "4:8"],而不是[1:2, 2:4, 3:6, 4:8]

因此,如果这正是您想要的,则无需在排序之前将键值对转换为字符串。

var dict=[2: 4, 1: 2, 4: 8, 3: 6]

let array = dict.sorted{$0.key < $1.key}.map{"\($0.key):\($0.value)"}

print(array)

如果您想要其他东西,请明确您想要什么。

关于swift - 有没有办法在单个打印语句中打印两个/多个变量而不将它们放入字符串中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56711638/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com