Unten ist die Liste, in der ich String und Integer trennen möchte.
Diese Liste gibt mir das richtige Ergebnis:
list_a = ["Michell",123,"Apple","Food",456,"Another"]
list_e = []
x = 0
for item in list_a:
print("x is: ", x)
print("item is: ", item)
if isinstance(item,int):
list_e.append(item)
list_a.pop(x)
x+=1
print(list_a)
print(list_e)
Das Problem beginnt, wenn ich ein Element wie folgt zur Liste hinzufüge: Element 3231 nach 456 hinzugefügt ...
>>> list_a = ["Michell",123,"Apple","Food",456,3231,"Another"]
...
['Michell', 'Apple', 'Food', 3231, 'Another']
[123, 456]
Was ist hier das Problem?
Das Problem ist:
x
berücksichtigt nicht die Positionen der entfernten Artikel.Versuche dies:
list_a = ["Michell",123,"Apple","Food",456,3231,"Another"]
list_e = []
x = 0
for item in list_a[:]:
print "x is: ", x
print "item is: ", item, type(item)
if isinstance(item,int):
list_e.append(item)
list_a.pop(list_a.index(item))
x+=1
print list_a
print list_e
Siehe auch:
Dieser Artikel stammt aus dem Internet. Bitte geben Sie beim Nachdruck die Quelle an.
Bei Verstößen wenden Sie sich bitte [email protected] Löschen.
Lass mich ein paar Worte sagen