Comment puis-je supprimer une plage (paragraphe) d'une liste en Python?
J'ai un simple, toujours consécutives liste ordonnée comme ceci:
all = [ 1, 2, 3, 4, 5, 6 ] # same as range( 1, 7 )
J'ai aussi current = 4
. À la fin, je veux le all
liste ressemble à ceci
altered = [ 1, 2, 5, 6 ]
Donc ce qui est arrivé a été retiré de la current
nombre et l'avant 3
.
current
peut également être 1
et 0
, donc je veux vous assurer qu'il ne renvoie pas d'erreur pour ces deux valeurs.
Pour l'exception current = 0
, la modification de la liste, c'est comme cela
altered = [ 1, 2, 3, 4, 5 ]
Ce qui signifie que current = 0
supprime simplement le dernier numéro.
Je me sens comme vous pouvez probablement le code quelque chose de fantaisie avec des générateurs, mais je suce à écrire.
Merci d'avance!
Points de Bonus pour le faire en une seule ligne. Si le current = 0
est trop de problèmes, alors il pourrait également être current = -1
ou current = 7
.
EDIT: assurez-vous de vérifier pour current = 1
, qui devrait être
altered = [ 2, 3, 4, 5, 6 ]
La liste est toujours un
range()
de sorte qu'il n'a pas d'importance si vous le regardez comme un poste ou de la valeur.N'appelez pas vos listes
all
comme il y a un construit en fonction de all()
et qui supprime l'accès une fois que vous utilisez le nom.OriginalL'auteur hobbes3 | 2012-04-10
Vous devez vous connecter pour publier un commentaire.
ou
current = 1
ça fonctionne maintenant?
Nice! Cela fonctionne pour
current = 7
. Est-il possible de faire en sorte qu'il supprime le dernier numéro decurrent = 0
? Ensuite, il sera parfait!J'ai tout simplement fait
if current = 0:
all = all[:-1]
. Il fait le code plus simple à lire.OriginalL'auteur Doboy
Serait-ce de travailler?
OriginalL'auteur keegan3d
OriginalL'auteur ChessMaster
current = 0
devez supprimer la valeur finale6
hobbes3 mentionnésJ'ai l'impression que cela devrait fonctionner, mais il n'a pas pour
current=0
🙁[item for item in all if item != current and item != current-1 or current == 0 and item != len(all)]
Oh je n'avais pas remarqué que 6 a été supprimé. :p
OriginalL'auteur huggie