habe ich eine Liste:Ändern bestimmte Elemente in einer Liste in eine int
aList = ['asdf123', '100', '45', '34hello']
wie kann ich es ändern, so die ‚100‘ und ‚45‘ statt str int wird?
aList = ['asdf123', 100, 45, '34hello']
habe ich eine Liste:Ändern bestimmte Elemente in einer Liste in eine int
aList = ['asdf123', '100', '45', '34hello']
wie kann ich es ändern, so die ‚100‘ und ‚45‘ statt str int wird?
aList = ['asdf123', 100, 45, '34hello']
Sie könnten eine Hilfsfunktion verwenden,
def to_int(s):
try:
return int(s)
except:
return s
aList = [to_int(n) for n in aList]
eine Methode definieren, die eine ganze Zahl konvertieren oder den ursprünglichen Wert zurück;
def tryInt(value):
try:
return int(value)
except:
return value
verwenden Dann map
und lambda
;
map(lambda x: tryInt(x), aList)
Oder Liste Verständnis, '[tryInt (n) für n in einer Liste]' – broinjc
Die folgenden sollten Sie dort bekommen.
def convert(x):
try:
return int(x)
except ValueError:
return x
aList = map(convert, aList)
Willkommen bei Stack Overflow! Bitte zeigen Sie, was Sie bisher haben. Weitere Informationen finden Sie unter [So stellen Sie eine gute Frage] (http://stackoverflow.com/help/how-to-ask). –
@ cricket_007 Kommentar über dup entfernt –