这个字典迭代在swift中是什么意思?
swfit中的字典和迭代操作这个字典迭代在swift中是什么意思?,swift,dictionary,iteration,Swift,Dictionary,Iteration,swfit中的字典和迭代操作 let namesAndScores = ["Anna": 2, "Brian": 2, "Craig": 8, "Donna"; 6] for key in namesAndScores.keys { print("\(key), ", terminator: "") } print("") 结果是Brian Anna Craig Donna 这个手术在做什么?为什么“终结者:”没有出现在结果中 问:这项行动在做什么? 下一行是[String:Int]
let namesAndScores = ["Anna": 2, "Brian": 2, "Craig": 8, "Donna"; 6]
for key in namesAndScores.keys {
print("\(key), ", terminator: "")
}
print("")
结果是Brian Anna Craig Donna
这个手术在做什么?为什么“终结者:”没有出现在结果中
问:这项行动在做什么?
下一行是[String:Int]
let namesAndScores = ["Anna": 2, "Brian": 2, "Craig": 8, "Donna": 6]
接下来,注意循环中的以下行:
namesAndScores.keys
此.keys
属性为我们提供了一个新的数组,该数组仅由字典中的键组成。例如:
let keys = ["Anna", "Brian", "Craig", "Donna"]
print("\(key), ", terminator: " -hi- ")
接下来,您只需在上面描述的数组中循环:
for key in namesAndScores.keys {
print("\(key), ", terminator: "")
}
问:为什么“终结者:”没有出现在结果中?
Terminator只是一个参数,用于设置打印行终止符。换句话说,它允许您选择每行之后打印的内容。默认情况下,它的“\n”
为我们提供了一个新行
在您的示例中,您有:print(\(键),”,终止符:)
。将打印语句的终止符设置为”
。您只是告诉您的print()
函数在不带尾随换行符的情况下打印。这样可以打印您的值:
布莱恩,安娜,克雷格,唐娜
但是,您可以将任何字符串传递到终止符参数中,例如:
let keys = ["Anna", "Brian", "Craig", "Donna"]
print("\(key), ", terminator: " -hi- ")
这会给你这个:
布莱恩-嗨-安娜-嗨-克雷格-嗨-唐娜-嗨-
因此,当您只使用公共打印(\(键),”
而不设置终止符时,您的终止符参数将获得一个默认值,该值相当于:
print("\(key), ", terminator: "\n")
这将在新行上打印每个项目,如下所示:
布莱恩,安娜,
克雷格,
唐娜 根据评论更新: 问:为什么结果中布莱恩在安娜之前,而布莱恩在安娜之后 安娜在字典里? 字典没有分类。因此,从
.keys
生成的数组将以不可预测的顺序排列。幸运的是,只需添加.sort,就可以对结果数组进行适当排序(
问:这项行动在做什么?
下一行是[String:Int]
let namesAndScores = ["Anna": 2, "Brian": 2, "Craig": 8, "Donna": 6]
接下来,注意循环中的以下行:
namesAndScores.keys
此.keys
属性为我们提供了一个新的数组,该数组仅由字典中的键组成。例如:
let keys = ["Anna", "Brian", "Craig", "Donna"]
print("\(key), ", terminator: " -hi- ")
接下来,您只需在上面描述的数组中循环:
for key in namesAndScores.keys {
print("\(key), ", terminator: "")
}
问:为什么“终结者:”没有出现在结果中?
Terminator只是一个参数,用于设置打印行终止符。换句话说,它允许您选择每行后面打印的内容。默认情况下,它的“\n”
为我们提供了一个新行
在您的示例中,您有:print(\(key),”,terminator:)
。当您的print语句的terminator设置为”
。您只需告诉您的print()
函数在不带尾随换行的情况下进行打印。它会像这样打印您的值:
布莱恩,安娜,克雷格,唐娜
但是,您可以将任何字符串传递到终止符参数中,例如:
let keys = ["Anna", "Brian", "Craig", "Donna"]
print("\(key), ", terminator: " -hi- ")
这会给你这个:
布莱恩-嗨-安娜-嗨-克雷格-嗨-唐娜-嗨-
因此,当您只使用公共打印(\(键),”
而不设置终止符时,您的终止符参数将获得一个默认值,该值相当于:
print("\(key), ", terminator: "\n")
这将在新行上打印每个项目,如下所示:
布莱恩,
安娜,
克雷格,
唐娜
根据评论更新:
问:为什么结果中布莱恩在安娜之前,而布莱恩在安娜之后
安娜在字典里?
字典是未排序的。因此,从.keys
生成的数组将以不可预测的顺序排列。幸运的是,只需添加.sort,即可对生成的数组进行适当排序(太好了!!!还有一个问题,为什么布莱恩在结果中在安娜之前,而布莱恩在字典中在安娜之后?我肯定选择了你的答案。谢谢你的帮助。太好了!!!还有一个问题,为什么布莱恩在结果中在安娜之前,而布莱恩在字典中在安娜之后?我肯定选择了你的答案。谢谢你的帮助。