为了账号安全,请及时绑定邮箱和手机立即绑定

我可以像 numpy 一样切片吗?

我可以像 numpy 一样切片吗?

慕的地10843 2021-07-02 14:46:14
如果我使用 numpy,那么我可以按如下方式对数组进行切片:import numpy as npA = np.asarray([1, 2, 3, 4, 5])print(A[np.asarray([1, 3])])然后输出是[2 4]。我想知道我是否可以在不使用 numpy 的情况下执行相同的操作,因为 A 只是一个 list。
查看完整描述

2 回答

?
蓝山帝景

TA贡献1843条经验 获得超7个赞

您可以使用列表理解,通过多一点输入来做到这一点:

print([A[n] for n in [1, 3]])


查看完整回答
反对 回复 2021-07-06
?
森栏

TA贡献1810条经验 获得超5个赞

不幸的是,你不能。您可以切片纯 python 列表。然而,这不是切片。如果你在列表上尝试,你会得到

TypeError: list indices must be integers or slices, not list

numpy 数组支持这一点,因为它们具有不同的__get__方法实现。除了list自己对类进行子类化之外,您无能为力(实际上您不应该这样做,numpy 实现已针对此类操作进行了优化)。



查看完整回答
反对 回复 2021-07-06
  • 2 回答
  • 0 关注
  • 107 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号