我很好奇。对于上下文,我有一个浮点数的字符串表示形式的列表(包括一些 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。
一个简单的解决方案是使用三元语句
arr2 = [None if i == "None" else float(i) for i in arr]
Run Code Online (Sandbox Code Playgroud)