Ich habe die folgende Funktion ausprobiert. Das soll eine Liste von Listen bekommen, überprüfen, ob jede seiner Unterlisten einen int-Wert enthält, es in int umwandeln, oder wenn es nicht tut, es löschen. Um dies zu tun, soll dies ein newX erzeugen, das eine neue Unterliste mit nichts als ints wäre, und eine neue Liste, die die Unterlisten enthalten würde.Wie beschneide ich die Werte aus einer Liste von Listen, die nicht int sind?
Ich habe es geschafft, die Werte aus der Unterliste zu bekommen, aber ich kann mich nicht darum kümmern, wie man die Werte jeder Unterliste wieder in x setzt. Da ich jetzt eine neue Unterliste erstelle, brauche ich eine ganz neue Liste von Listen und ich bin wirklich verwirrt über die ganze Sache. Es muss einen leichteren Weg geben.
def forceInt(list):
newList = []
for x in list:
newX = []
for y in x:
try:
int(y)
except:
continue
else:
newX.append(int(y))
newList.append(newX)
return newList
print(forceInt(adsVal))
Probeneingang:
adsVal = [['Students', 'inactive', '3'], ['Campaign 1', 'not_delivering', '']]
Beispielausgabe:
[['3'], []]
Das ist nicht eine Liste von Listen ist, sondern ein dict von Listen ... –
Meine schlecht, lassen Sie es mich –
beheben, aber warum ist dann ' 'Students'' und "Kampagne 1" ist immer noch Teil der Ausgabe? –