python - 在python中组合切片对象
问题描述
我想使用切片运算符提取前 3 项和后 3 项。这可以通过连接切片对象在一次调用中完成吗?
a = [1, 2, 3, 4, 5, 6, 7, 8, 9]
s1 = slice(None, 3)
s2 = slice(-3, None)
s = s1 + s2
a[s]
以上返回错误,因为s = s1 + s2
不可能。还有其他方法吗?
我不是在寻找答案: a[s1] + a[s2]
解决方案
没有s
这样的a[s]
对象[1, 2, 3, 7, 8, 9]
。切片对象不支持连接,并且list.__getitem__
不理解任何可用于将两个切片捆绑在一起的对象。
在某些时候,您将不得不切片两次并组合结果。您可以通过各种方式隐藏它,例如通过创建一个包装器来wrapper(a)[s1, s2]
执行两个切片操作并组合结果,但您不能将作业委托给列表。
推荐阅读
- amazon-web-services - 如何将污点添加到 AWS EKS 节点组?
- python - 在张量流中恢复检查点的问题(操作类型未注册错误)
- angular - 使用 Angular 的存储访问 API 解决方案(请求存储访问)
- javascript - 使用角度路线的引导导航栏在特定活动选项卡的左侧出现故障
- python - Alexa Lambda KeyError:“意图”
- sql-server - 导航表和值映射
- mysql - 是否可以在删除mysql的地方使用最后一个ID?
- excel - 如何过滤包含多条文本的excel中的列
- reactjs - 为什么 React 在 useState 中使用了错误的值?
- jsonschema - 使用 nifi 将 JSON 转换为 Avro