1、python里面定义未知长度数组
python里面数组可以声明一个未知长度的数值
比如python可以这样定义:
#!/usr/bin/python3
a1=[]
for i in range(0,10):
a1[i]=str(i)+"a"
#print(i)
执行报错:IndexError: list assignment index out of range
原因是:a1是个空数组,不能使用a1[i],可以换成a1.apped,改成
a1=[]
for i in range(0,10):
a1.append(str(i)+"a")
for index, value in enumerate(a1):
print (index, value)
执行结果是:
0 0a
1 1a
2 2a
3 3a
4 4a
5 5a
6 6a
7 7a
8 8a
9 9a
2、golang里面没法定义未知长度的数租,但是有slice可以取代
Go 数组的长度不可改变,在特定场景中这样的集合就不太适用,Go 中提供了一种灵活,功能强悍的内置类型切片("动态数组"),与数组相比切片的长度是不固定的,可以追加元素,在追加时可能使切片的容量增大。看下学习演示代码:
//定义切片
var a1 []string
//给切片赋值
for i:=0;i<10;i++{
a1=append(a1,strconv.Itoa(i)+"a")
}
//遍历切片
for j:=0;j<len(a1);j++{
fmt.Println(j,a1[j])
fmt.Println("new dispay:",j,a1[j:j+1][0])
}
输出结果:
0 0a
new dispay: 0 0a
1 1a
new dispay: 1 1a
2 2a
new dispay: 2 2a
3 3a
new dispay: 3 3a
4 4a
new dispay: 4 4a
5 5a
new dispay: 5 5a
6 6a
new dispay: 6 6a
7 7a
new dispay: 7 7a
8 8a
new dispay: 8 8a
9 9a
new dispay: 9 9a
参考文章:https://www.runoob.com/python/python-lists.html
参考文章:https://m.runoob.com/go/go-slice.html