Python与Go语言中Slice和List的操作对比及自定义查找方法
本文对比了Python与Go语言中Slice和List的操作方式。Go语言原生slice缺乏直接查找元素的方法,需通过遍历或自定义函数实现;Python则提供了简洁的内置方法如index和count。文章展示了两种语言在遍历、排序及元素统计方面的代码实现,帮助开发者理解差异并优化代码。
Python与Go语言中操作Slice和List的实例代码解析
在Go语言中,遍历Slice并查找特定元素或统计其出现次数是常见需求。
type Element interface{}
func main() {
a := []int{1, 2, 3, 4, 1}
for _, i := range a {
fmt.Println(i)
}
for i := 0; i < len(a); i++ {
//fmt.Println(i)
}
fmt.Println(index0(a, 3))
fmt.Println(index0([]string{"a", "b", "c", "d", "e"}, "e"))
sort.Ints(a) //排序
fmt.Println(a)
}
//
func index0(a Element, i interface{}) int {
if b, ok := a.([]int); ok {
if c, ok1 := i.(int); ok1 {
for indexC, v := range b {
if v == c {
return indexC
}
}
}
}
if b, ok := a.([]string); ok {
if c, ok1 := i.(string); ok1 {
for indexC, v := range b {
if v == c {
return indexC
}
}
}
}
return -1
}
观察上述Go语言代码可知,原生Slice并未提供直接查找特定元素的方法。因此,我们需要自定义一个查找函数来实现这一功能。
相比之下,Python的代码实现显得非常简洁直观。
a=[1,2,3,4,1] for b in a : print(b) i=0 while i <len(a): print(a[i]) i=i+1 #print( sorted(a)) 方式一排序 a.sort() print(a) print( a.index(3)) a.count(1)
感谢阅读,希望本文内容能对大家有所帮助,同时也感谢各位对本站的支持!
免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。









