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?
3 Réponses :
Si vous connaissez l'index, cela devrait fonctionner:
del nums[4:5]
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
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.
pour supprimer des éléments de la liste en utilisant Slice nums [4: 5] = []
Avez-vous essayé cela? Cela ne semble pas fonctionner.
Est-ce que cela répond à votre question? Comment supprimer un élément d'une liste par index