python - 在python列表中的每个元素之后删除n个元素
问题描述
我想删除n
列表中每个元素之后的元素。示例n = 7
:
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17] # unmodified list
[1, 9, 17] # final list
我尝试了这种方法,但失败了,出于某种原因从列表中删除了每个备用元素。
# cases is a list with over 600 numbers
case_count = 0
case_index = 0
for case in cases:
print(case_count)
print(case_index)
if case_count != 7:
popped = cases.pop(case_index)
print(case_index)
case_count += 1
else:
print("Case count equal to 7")
case_count = 0
case_index += 1
解决方案
所以,基本上你想每第八个元素切片?
l = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17]
l[0::8]
输出:[1, 9, 17]
推荐阅读
- javascript - TELEGRAM: 400 Bad Request: 网页内容类型错误
- java - 变体原始类型的通用 Java 接口
- c++ - 为什么 if 语句不返回 INFINITY?C++
- c - CLRS 红黑树删除
- c++ - Valgrind 将函数头指示为无效写入的位置
- r - R使用文本列将数据框导出到Excel
- java - OpenGL只在四边形上渲染纹理的一个像素?
- node.js - mongoose 在 save() 之后没有保存我的数组
- angular - 您可以动态覆盖 ag-grids balham 主题光标吗?
- mule - 如何跟踪mule 3中直到成功组件(同步模式)的重试计数值?