【发布时间】:2015-10-03 17:42:44
【问题描述】:
我已经看过这篇文章了: Python: building new list from existing by dropping every n-th element,但由于某种原因它对我不起作用:
我试过这样:
def drop(mylist, n):
del mylist[0::n]
print(mylist)
这个函数接受一个列表和n。然后它使用列表中的 n-step 删除每个第 n 个元素并打印结果。
这是我的函数调用:
drop([1,2,3,4],2)
错误输出:[2, 4] 而不是[1, 3]
然后我尝试了上面链接的变体:
def drop(mylist, n):
new_list = [item for index, item in enumerate(mylist) if index % n != 0]
print(new_list)
再次,函数调用:
drop([1,2,3,4],2)
给我同样的错误结果:
[2, 4] 而不是 [1, 3]
如何正确删除/删除/删除列表中的每个 n-th 项?
【问题讨论】:
-
答案还可以。从你说的,你假设索引编号从1开始,但系统从0开始计数。
标签: python python-3.x list element