python - numpy 中的索引和切片
问题描述
x = np.array([[[1],[2],[3]], [[4],[5],[6]]])
x.shape
(2,3,1)
x[1:3]
array([[[4],
[5],
[6]]])
我期待 x[1:4] 中的错误,因为索引超出范围,但它给出了输出是如何可能的。
解决方案
>>> "hi"[1:500]
'i'
Python 将调整切片的结尾以匹配序列的结尾:索引 2-499 处不再有条目,因此它仅在索引 1 处停止。
>>> "what"[3000:]
''
它还将夹住切片的开头以匹配序列的结尾:索引 3000 处没有条目,因此返回一个空字符串。
与您的情况相同:x[1] == [[4],[5],[6]]]
,但是x[2:3]
是一个空序列,因此您得到[[[4],[5],[6]]]] + []
== [[[4],[5],[6]]]]
。
推荐阅读
- c# - 如何将键盘数字与我创建的计算器应用程序绑定?
- apache-camel - 骆驼拦截事务提交
- php - 在刀片中获取一些文本以请求 Laravel
- python - 为什么调度和请求库不适用于 Python 中的此类?
- python - 如何托管 python 网络服务器以访问目录中的所有图像
- discord - 超过 2000 个字符的拆分消息 Discord.js
- javascript - TypeError:无法分配给对象“[object Array]”的只读属性“0”
- spring - 使用多对多关系返回空结果
- python - 使用 cx_Oracle 连接到远程 Oracle DB
- android - 如何在同一设备上的不同 Xamarin Forms 应用程序之间共享数据?