Я пытаюсь преобразовать элементы в списке нескольких типов в плавающие значения, чтобы
L = ["29.3", "tea", "1", None, 3.14]
стало
D = [29.3, "tea", 1, None, 3.14]
Моя попытка выглядит следующим образом:
L = ["29.3", "tea", "1", None, 3.14]
D = []
for item in L:
try:
float(item)
D.append(item)
except ValueError:
D.append(item)
print(D)
Это выдает
line 5, in <module>
float(item)
TypeError: float() argument must be a string or a number, not 'NoneType'` error.
Если я изменю элемент None
на строку, как в "None"
, он генерирует список D
идентично L
.Итак ...
- Как пропустить элемент
None
?Нужно ли использовать оператор if item == None: pass
или есть лучший способ? - Почему преобразование типов не работает, даже если я изменяю
None
на "None"
?