Ich habe eine Liste von Elementen mit heterogenen Datentypen in Strings enthalten.
lst=['1','err','-1',' ','155']
Von diesen, würde Ich mag eine neue Liste erhalten, nur mit den positiven Zahlen: new_lst=[1,155]
nur positive Zahl aus einer Liste, die heterogene Datentyp Element in Python enthält 3
habe ich versucht, negative Zahlen zu vermeiden, wie unten gezeigt. Allerdings bin ich die Saiten und leere Zeichenfolgen zu vermeiden, nicht in der Lage:
lst1=int(lst)
for i in lst1:
if i<0:
print i
else:
continue
Traceback (most recent call last):
File "C:/Users/Dev/Documents/Assignment-2/test-2.py", line 22, in <module>
c3=int(row[3])
ValueError: invalid literal for int() with base 10: 'err'
>>>
Mögliches Duplikat von [Prüft, ob eine Variable eine Ganzzahl ist oder nicht] (http://stackoverflow.com/questions/3501382/checking-whether-a-variable-is-annteger-or-not) – Ryan
Dies ist hört sich nach Hausaufgaben an, anstatt dir einen funktionierenden Code zu geben, gebe ich dir eine Idee, wie du sie lösen kannst. Iterieren Sie zunächst Ihre Liste und versuchen Sie für jedes Element in der Liste, es in ein "int" umzuwandeln. Wenn die Konvertierung erfolgreich ist, überprüfen Sie, ob die Zahl größer als 0 ist. Wenn dies der Fall ist, können Sie sie zu Ihrer Positivliste hinzufügen. –
Wickeln Sie Ihren "int()" Anruf in einem Versuch/ausgenommen. – RobertB