在列表python中仅将浮点数转换为int

JDE*_*876 0 python list-comprehension list

我试图将列表'codes'中的任何浮点数转换为int.

codes = [890.0,'JFR']
codes = [int(c) for c in codes]
Run Code Online (Sandbox Code Playgroud)

我收到错误:

ValueError:int()的基数为10的无效文字:'JFR'

我希望列表'代码'是:

[890,'JFR']
Run Code Online (Sandbox Code Playgroud)

我的问题是如何在不收到错误的情况下仅将浮点数更改为int?

Ana*_*mar 9

你应该试试 -

codes = [890.0,'JFR']
codes = [int(c) if isinstance(c, float) else c for c in codes]
Run Code Online (Sandbox Code Playgroud)