【发布时间】:2016-07-10 01:41:44
【问题描述】:
此代码用于按首字母对字符串数组进行分组。
//plain array
var list = ["apple", "apricot", "banana", "blackberry"]
//dictionary of arrays
var dict = Dictionary<String, Array<String>>()
//create necessary keys from first characters
for word in list {
dict[ String( word.characters.prefix(1) ) ] = [ ]
}
//add words to the key of their first character
for word in list {
dict[ String( word.characters.prefix(1) ) ]?.append( word )
}
//output dictionary
print(dict)
这个例子会输出这样的字典:
[ "b": ["ba", "bb"],
"a": ["aa", "ab"] ]
代码有两个相似的for 循环。它们可以组合成一个循环而不影响输出吗?
【问题讨论】:
标签: arrays swift loops dictionary optimization