对具有相同组成的字符串进行分组
Posted
技术标签:
【中文标题】对具有相同组成的字符串进行分组【英文标题】:Grouping strings with same composition 【发布时间】:2021-04-23 15:20:20 【问题描述】:我想使用 Go 对具有相同组合的字符串进行分组。
假设我有这样的字符串数组:
['kita', 'atik', 'tika', 'aku', 'kia', 'makan', 'kua']
预期的输出是这样的
[
["kita", "atik", "tika"],
["aku", "kua"],
["makan"],
["kia"]
]
【问题讨论】:
这不是代码编写服务。你试过什么?包括您的代码。你遇到了什么问题? 【参考方案1】:这应该可以使用地图来实现:
package main
import (
"log"
"sort"
)
func main()
words := []string"kita", "atik", "tika", "aku", "kia", "makan", "kua"
refs := map[string][]string
for _, word := range words
// normalizing word
r := []rune(word)
sort.Slice(r, func(i, j int) bool return r[i] < r[j] )
sortedWord := string(r)
// appending in the normalized word map
refs[sortedWord] = append(refs[sortedWord], word)
// transforming into a slice of slices
result := [][]string
for _, item := range refs
result = append(result, item)
log.Println(result)
【讨论】:
以上是关于对具有相同组成的字符串进行分组的主要内容,如果未能解决你的问题,请参考以下文章
Python:如何按对象的特征或属性对对象列表进行分组? [复制]