假设我有数组a:
a = [[1.0,2.5,3.0],[2.0,5.0,3.0]]
为什么要做print a[0][:0:]
输出:
[]
同时执行print a[0][0]
输出(数组中第一个数组中的第一个项目):[1.0]
我最终想要采用多维数组的移动平均线。我想确保我首先理解语法。
答案 0 :(得分:3)
出于同样的原因[1, 2, 3][0]
给出[1, 2, 3][:0:]
的不同答案。
[0]
将为索引0处的元素提供[:0:]
(或更简单地[:0]
)将从列表开头的所有元素提供给之前的 >索引0处的元素(当然是空列表)。
[0]
是一个索引查找,[:0:]
是切片表示法,所以它们是完全不同的东西。
答案 1 :(得分:1)
这个print a[0][0]
指的是1d第一个元素中第二个元素。
此print a[0][:0:]
表示切片表示法:
a[start:end] # items start through end-1
a[start:] # items start through the rest of the array
a[:end] # items from the beginning through end-1
a[:] # a copy of the whole array