Golang、python去除slice和list的重复元素,非常有用的功能
发布时间:2020-12-16 19:13:25 所属栏目:大数据 来源:网络整理
导读:Golang中,利用反射和interface就可以做到,不废话看代码 func main() { b := []string{"a","b","c","e","f","a","g","c"} sort.Strings(b) fmt.Println(Duplicate(b)) c := []int{1,1,2,4,6,7,8,3,5,8} sort.Ints(c) fmt.Println(Duplicate(c))}func Duplic
Golang中,利用反射和interface就可以做到,不废话看代码 func main() { b := []string{"a","b","c","e","f","a","g","c"} sort.Strings(b) fmt.Println(Duplicate(b)) c := []int{1,1,2,4,6,7,8,3,5,8} sort.Ints(c) fmt.Println(Duplicate(c)) } func Duplicate(a interface{}) (ret []interface{}) { va := reflect.ValueOf(a) for i := 0; i < va.Len(); i++ { if i > 0 && reflect.DeepEqual(va.Index(i-1).Interface(),va.Index(i).Interface()) { continue } ret = append(ret,va.Index(i).Interface()) } return ret } 输出: [a b c e f g] [1 2 3 4 5 6 7 8] 而python自带的系统函数就能做到 a=["a","c"] print(list(set(a))) a=[1,8] print(list(set(a))) 输出: ['e','g','b','c','a','f'] [1,8] (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |