从列表中删除每三个项目(在列表中定期删除条目)

el3*_*323 -2 python list

我想从列表中删除每个第3项.例如:

list1 = list(['a','b','c','d','e','f','g','h','i','j'])
Run Code Online (Sandbox Code Playgroud)

删除多个三的索引后,列表将是:

['a','b','d','e','g','h','j']
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?

Moi*_*dri 5

你可以使用enumerate():

>>> x = ['a','b','c','d','e','f','g','h','i','j']
>>> [i for j, i in enumerate(x) if (j+1)%3]
['a', 'b', 'd', 'e', 'g', 'h', 'j']
Run Code Online (Sandbox Code Playgroud)

或者,您可以创建列表副本并按间隔删除值.例如:

>>> y = list(x) # where x is the list mentioned in above example
>>> del y[2::3] # y[2::3] = ['c', 'f', 'i']
>>> y
['a', 'b', 'd', 'e', 'g', 'h', 'j']
Run Code Online (Sandbox Code Playgroud)