-1
votes

Trancher pour supprimer l'élément au milieu de la liste

Je veux écrire du code qui utilise le découpage pour se débarrasser du second 8 afin qu'il n'y ait ici que deux 8 dans la liste liés aux nombres variables. Les nombres sont comme ci-dessous:

nums=[0:4:-1]
nums=[:4]+[5:] 

Voici mon code:

nums = [4, 2, 8, 23.4, 8, 9, 545, 9, 1, 234.001, 5, 49, 8, 9 , 34, 52, 1, -2, 9.1, 4]

mais le tranchage semble enlever la partie avant ou la partie inférieure, comment pouvons-nous retirer la partie médiane?


1 commentaires

Est-ce que cela répond à votre question? Comment supprimer un élément d'une liste par index


3 Réponses :


1
votes

Si vous connaissez l'index, cela devrait fonctionner:

del nums[4:5]


2 commentaires

Supprimer une tranche contenant un seul élément est un peu étrange, del nums[4] serait plus courant. Mais +1 de toute façon.


@wim Oui, c'est étrange, mais si vous suivez ce modèle, vous pouvez l'exécuter sur une liste vide sans avoir à faire une if statement préalable. en supposant que vous vérifiez dynamiquement middle = len(items) // 2 , ou quelque chose de similaire



0
votes

Je comprends que vous demandez une solution utilisant le découpage, mais avez-vous envisagé:

nums.pop(4)

Ce qui, si vous connaissez déjà l'index, s'en débarrassera (mais vous montrera aussi ce que vous sortez) et vous laissera avec vos nombres comme vous le souhaitez.


0 commentaires

0
votes

pour supprimer des éléments de la liste en utilisant Slice nums [4: 5] = []


1 commentaires

Avez-vous essayé cela? Cela ne semble pas fonctionner.