python - 在 Python 中对数组进行切片时单步执行多个值
问题描述
我试图在遍历数组的每个n元素时获取m值。例如,对于m = 2 和n = 5,给定
a = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
我想找回
b = [1, 2, 6, 7]
有没有办法使用切片来做到这一点?我可以使用嵌套列表理解来做到这一点,但我想知道是否有办法只使用索引来做到这一点。作为参考,列表理解方式是:
b = [k for j in [a[i:i+2] for i in range(0,len(a),5)] for k in j]
解决方案
我同意 wim 的观点,你不能只用切片来做到这一点。但是你可以只用一个列表理解来做到这一点:
>>> [x for i,x in enumerate(a) if i%n < m]
[1, 2, 6, 7]
推荐阅读
- shopware - 更新现有实体
- javascript - Angular build prod 错误“属性是私有的并且只能访问”
- python - 为什么我的 Lambda 函数将一个空的 csv 文件写入 S3?
- java - 带输出的冒泡排序
- r - 如何识别使用 stars R 包提取栅格值的多边形?
- javascript - Mongoose 等待 node.js req.query 数据
- python - x 数组从负到正的意外 numpy 插值行为(按递增排序)
- nlp - 是否有一种嵌入技术来表示多语言段落?
- python - 如何为不同元素类型的列表和 numpy 数组添加输入提示?
- wordpress - Selenium + Wordpress:无法提交