我是Swift的新手,我正在阅读“快速编程:大书呆子牧场指南”。"我遇到了一个挑战,希望我创建一个代表一个州的字典。我的词典键是指3个国家/地区。每个键映射到一个数组,该数组包含该国家/地区内的五个邮政编码。我被允许填写国家名称和邮政编码。 结果应符合以下条件:
Georgia has the following zip codes: [30306, 30307, 30308, 30309, 30310,
30311, 30312, 30313, 30314, 30315,
30301, 30302, 30303, 30304, 30305]
我能够按照他的要求得到结果,但我无法获得相同的格式,在我的代码中,结果显示在同一行中,如下所示:
Georgia has the following zip codes: [30306, 30307, 30308, 30309, 30310,30311, 30312, 30313, 30314, 30315, 30301, 30302, 30303, 30304, 30305]
这是我的代码:
var georgia = ["c1" : [30306, 30307, 30308, 30309, 30310] , "c2" : [30311, 30312, 30313, 30314, 30315 ] , "c3" : [30301, 30302, 30303, 30304, 30305] ]
var resultArray : [Int] = []
for zipCodes in georgia.values
{
for zip in zipCodes
{
resultArray.append(zip)
}
}
print("Georgia has the following zip codes :" , resultArray)
我一直试图找出如何匹配上面的格式,因为他想要我,但我无法理解。任何帮助将非常感激。
答案 0 :(得分:0)
只是为了好玩:
let georgia = ["c1" : [30306, 30307, 30308, 30309, 30310] , "c2" : [30311, 30312, 30313, 30314, 30315 ] , "c3" : [30301, 30302, 30303, 30304, 30305] ]
var resultArray = [String]()
for key in georgia.keys.sorted()
{
let zipCodes = georgia[key]!
let zipString = zipCodes.map(String.init).joined(separator: ", ")
resultArray.append(zipString)
}
print("Georgia has the following zip codes : [" + resultArray.joined(separator: ",\n\n\t\t\t\t\t") + "]")
它将每个Int
数组映射到String
数组,并将带有", "
分隔符的项连接到字符串。结果数组也加上逗号和几个新的行和制表符。最后,括号手动添加。
但我无法想象这是真正的挑战......