删除python列表中每个元素后的n个元素

2024-09-27 21:32:51 发布

您现在位置:Python中文网/ 问答频道 /正文

我想删除列表中每个元素后面的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

Tags: 方法元素列表indexiscountwithlist
2条回答

所以,基本上你想把每八个元素都切片

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

输出:[1, 9, 17]

n = 7
[arr[i] for i in range(0, len(arr), n + 1)]
# [1, 9, 17]

相关问题 更多 >

    热门问题