List comprehension: TypeError: 'float' object is not iterable

List comprehension: TypeError: 'float' object is not iterable

列出理解题。我正在解析一个包含数据的文本文件,如图所示。

sig1 = 1039.0
sig2 = 1034.0, 1035.0, 1036.0

通过一些字符串操作,我正在检查 sig1 是否有多个值,如果是,我将迭代并追加到一个列表,否则只考虑作为一个浮点数。(示例变量 sig2)

为了将 sig2 中的每个值转换为 Int,我使用了如下所示的列表理解。

i_lst = [int(i) for i in sig2]

我面临的问题有时是 sig2 只能有一个值,这将被视为浮点变量而不是一个列表。这搞乱了列表理解,我得到了以下错误。

TypeError: 'float' object is not iterable

如何在列表理解中克服这个问题?

sig2 转换为列表,如果它是 float:

i_lst = [int(i) for i in ([sig2] if isinstance(sig2, float) else sig2)]