我在 Python 中看到这段代码:
processed = data[:,feature_locs]
我试着用这个测试这种代码
ha = (3, 5, 7)
print ha
data = [1, 2, 3, 4, 5]
print data[:, ha]
但我得到一个TypeError
。
我做错了什么,上面的语法是什么意思?
最佳答案
这是多维数组的 numpy
模块支持的自定义 slice
参数。
>>> import numpy
>>> a = numpy.random.random((2,3))
>>> a
array([[ 0.01211291, 0.06738324, 0.11690497],
[ 0.86175703, 0.21903569, 0.49506358]])
>>> a[:,1]
array([ 0.06738324, 0.21903569])
有关更多详细信息,请参阅 numpy 文档 http://docs.scipy.org/doc/numpy/reference/arrays.indexing.html
关于Python有趣的数组索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22288428/