在Python中,是否有一个字符串s使得float(s)为None?

Max*_*ett 3 python python-2.7

我很好奇。对于上下文,我有一个浮点数的字符串表示形式的列表(包括一些 None 值),并且我想使用列表理解将其转换为实际浮点数的列表。如果字符串为“None”,则代码会给出错误:

arr = ['1', '2.5', 'None']
arr2 = [float(i) for i in arr]
# Gives an error
Run Code Online (Sandbox Code Playgroud)

我知道 float 函数接受 inf、-inf 或 nan,我可以使用它们作为解决方法,但我很好奇是否有一个字符串被转换为 None。

Pho*_*nix 6

一个简单的解决方案是使用三元语句

arr2 = [None if i == "None" else float(i) for i in arr]
Run Code Online (Sandbox Code Playgroud)