Ich versuche herauszufinden, wie bestimmte Index aus der Liste entfernen, aber ich weiß nicht, wie ich mein Problem beheben. Kann mir jemand helfen, das zu lösen?Wie kann ich bestimmte Index aus Liste in Python entfernen
Zuerst muss ich einige Zahlen von Benutzern mit Eingabe erhalten.
numbers = int(input("input any numbers: "))
list_num = list(numbers)
Zweitens, wenn list_num [0] == 1, entfernen Sie dieses Element.
Drittens, wenn list_num [i + 1] == list_num [i], entfernen Sie list_num [i + 1].
Also, wenn die erste Liste so geht: list_num = [1,2,7,8,13,20,21]
,
die endgültige Liste wird list_num = [2,7,13,20]
sein Dies wird das Programm zu befestigenden:
numbers = int(input("input any numbers:"))
list_num = list(numbers)
if list_num[0] ==1:
list_num.remove(num[0])
for i in range(1,len(list_num)-1, 1):
if list_num[i] = list_num[i+1] -1:
list_num.remove(num[i+1])
print(list_num)
Beachten Sie, dass ein Element aus einer Liste zu entfernen während es durchläuft, wird Probleme verursachen. Es empfiehlt sich, ein Listenverständnis oder eine andere Methode zu verwenden, um eine neue Liste mit Elementen aus dem alten zu erstellen. Siehe [this] (http://stackoverflow.com/questions/1207406/remove-items-from-a-list-while-iterating-in-python) Frage. – SiHa
Nur zum Spaß: 'Drucken ([Element [0] für Element in (Liste (x) für _, x in itertools.groupby (Liste_num, Lambda v, c = itertools.count(): v - next (c)))]) ':-) – Matthias
Vielen Dank für alle Kommentare, und ich habe meine Frage bearbeitet, um besser organisiert zu sein. :) – jay0904