python_切片
参考文档
Python中numpy数组切片:print(a[0::2])、a[::2]、[:,2]、[1:,-1:]、a[::-1]、[ : n]、[m : ]、[-1]、[:-1]、[1:]等的含义(详细)
正文
:
表示start、end、step的分隔符
,
表示不同维度之间的分割符
格式:start[:end:step[,start:end:step,...]]
即:
start
start: end: step
start: end: step, start: end: step
start:切片起始下标,可省略,默认为0
end:切片终止下标的后一位,可省略,默认为len(array)
step:切片的步长,可省略,默认为1;step=-1时,表示反方向读取(向下标变小的方向),步长是1
demo
一维情况:
data = ["hello world", "hi jack", "go", "fire",
"hello world1", "hi jack1", "go1", "fire1"]
#省略了end
print(data[-1::-1])
#省略了start、end
print(data[::-1])
#
print(data[1:4:2])
#
print(data[1::2])
"""
['fire1', 'go1', 'hi jack1', 'hello world1', 'fire', 'go', 'hi jack', 'hello world']
['fire1', 'go1', 'hi jack1', 'hello world1', 'fire', 'go', 'hi jack', 'hello world']
['hi jack', 'fire']
['hi jack', 'fire', 'hi jack1', 'fire1']
"""
二维情况:
data2 = np.array([
[1, 2, 3, 4, 5, 6, 7],
["a", "b", "c", "d", "e", "f", "g"],
["hello", "world", "i", "am", "from", "china", "haha"],
["!", "@", "#", "$", "%", "^", "&"]
])
# 取["a", "b", "c", "d", "e", "f", "g"]中的c
print(data2[1, 2])
# 默认第0维,倒着读
print(data2[::-1])
#第一维倒着读
print(data2[::, ::-1])
"""
c
[['!' '@' '#' '$' '%' '^' '&']
['hello' 'world' 'i' 'am' 'from' 'china' 'haha']
['a' 'b' 'c' 'd' 'e' 'f' 'g']
['1' '2' '3' '4' '5' '6' '7']]
[['7' '6' '5' '4' '3' '2' '1']
['g' 'f' 'e' 'd' 'c' 'b' 'a']
['haha' 'china' 'from' 'am' 'i' 'world' 'hello']
['&' '^' '%' '$' '#' '@' '!']]
"""