官术网_书友最值得收藏!

Grouping initializer

Grouping initializer is the new addition to the Dictionary that converts a sequence into a Dictionary of sequences grouped as per your ambition. Continuing our people example, we can use people.keys to get back an array of people names and then group them by their first letter, like this:

let groupedPeople = Dictionary(grouping: people.keys) { $0.prefix(1) }
print(groupedPeople)

This will output the following:

["T": ["Tom"], "A": ["Alex"], "R": ["Rex", “Ravi”]]

Here, T, A, and R are initializers to the distinct names. For instance, consider that you had one more name in the Dictionary, say "Adam" aged 55:

["Tom": 24, "Alex": 23, "Rex": 21, "Ravi": 43, "Adam": 55]

In this case, the groupedPeople array might look something like this:

["T": ["Tom"], "A": ["Alex", "Adam"], "R": ["Rex", “Ravi”]]

Alternatively, we can group people based on the length of their names, as shown:

let groupedPeople = Dictionary(grouping: people.keys) { $0.count }
print(groupedPeople)

This will output the following:

[3: ["Tom","Rex"], 4: ["Alex", "Ravi","Adam"]]
主站蜘蛛池模板: 鱼台县| 隆安县| 淮滨县| 丰原市| 元谋县| 和龙市| 平利县| 丽江市| 土默特右旗| 兴隆县| 德钦县| 乌拉特中旗| 丰宁| 日土县| 宁武县| 阳谷县| 高台县| 句容市| 章丘市| 封开县| 曲水县| 贵阳市| 壶关县| 北辰区| 泾源县| 河间市| 湟源县| 温宿县| 吉隆县| 涿州市| 德保县| 马山县| 永丰县| 阿合奇县| 荥经县| 清丰县| 泰州市| 林芝县| 呼图壁县| 当雄县| 五台县|