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]
我想在 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]