Python: comment faire pour supprimer/supprimer tous les n-ième élément de la liste?

J'avais déjà regardé à travers ce post:
Python: la construction d'une nouvelle liste en laissant tomber tous les n-ième élément, mais pour quelque raison il ne fonctionne pas pour moi:

J'ai essayé de cette façon:

def drop(mylist, n):
    del mylist[0::n]
    print(mylist)

Cette fonction prend une liste et n. Ensuite, il supprime tous les n-ième élément à l'aide de n-étape à partir de la liste et imprime le résultat.

Voici mon appel de la fonction:

drop([1,2,3,4],2)

Mauvaise sortie:

[2, 4] au lieu de [1, 3]


Ensuite, j'ai essayé une variante à partir du lien ci-dessus:

def drop(mylist, n):
    new_list = [item for index, item in enumerate(mylist) if index % n != 0]
    print(new_list)

De nouveau, appel de la fonction:

drop([1,2,3,4],2)

Me donne le même résultat erroné:
[2, 4] au lieu de [1, 3]


Comment bien enlever/supprimer/supprimer tous les n-ième élément d'une liste?

Les réponses sont OK. À partir de ce que vous dites, vous êtes en supposant que l'indice de numérotation commence à 1, mais le système commence à compter à partir de 0.

OriginalL'auteur Erba Aitbayev | 2015-10-03