首页 > 解决方案 > 在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

标签: pythonlist

解决方案


所以,基本上你想每第八个元素切片?

l = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17]
l[0::8]

输出:[1, 9, 17]


推荐阅读