python 中列表的字符串到 int 的转换

string to int conversion of list in python

我想在 python3.x

中将字符串列表转换为 int 列表
b = ["1.22","1.45","1.85","2.35","3.73","5.44"]
c= [int(i) for i in b]
print(c)

但是我收到了错误

ValueError: invalid literal for int() with base 10: '1.22'

语法错误或其他可能的解决方案是什么?

这些是 floats 而不是 ints,这就是您收到错误的原因,您可以这样修改代码:

b = ["1.22","1.45","1.85","2.35","3.73","5.44"]
c = [float(i) for i in b]
print(c)

1.22 不是整数。请改用 decimal.Decimal('1.23') or float('1.23')

尝试先转换为浮点数,然后将这些浮点数转换为整数:

b = ["1.22","1.45","1.85","2.35","3.73","5.44"]
c = [int(float(i)) for i in b]
print(c)

这会打印:

[1, 1, 1, 2, 3, 5]