gpt4 book ai didi

go - 如何使用 go 获取 slice 中的单个项目计数?

转载 作者:数据小太阳 更新时间:2023-10-29 03:39:26 25 4
gpt4 key购买 nike

例如,这是一个 slice :

[1, 2, 3, 3, 4]

想要获取单个数据1, 2, 4的计数并返回count = 3

也许删除重复项(包括自身)是一个想法,但没有找到合适的方法。


我尝试过的:

  func removeDuplicateItems() {
intSlice := []int{1, 2, 3, 3, 4}
fmt.Println(intSlice)

keys := make(map[int]bool)
list := []int{}
for _, entry := range intSlice {
if _, value := keys[entry]; !value {
keys[entry] = true
list = append(list, entry)
}
}

fmt.Println(list)
}

得到

[1 2 3 3 4]
[1 2 3 4]

最佳答案

我只是稍微改变了你的功能:

func removeDuplicateItems() {
intSlice := []int{1, 2, 3, 3, 4}
fmt.Println(intSlice)

keys := make(map[int]int)
list := []int{}
for _, entry := range intSlice {
keys[entry]++
}
for k, v := range keys {
if v == 1 {
list = append(list, k)
}
}

fmt.Println(list)
}

https://play.golang.org/p/ESFLhC4VC-l

此时列表还没有排序。如果你想在之后对你的列表进行排序,你需要使用 sort 包。

关于go - 如何使用 go 获取 slice 中的单个项目计数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56324276/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com