将字符串转换为数字时遇到问题

时间:2020-04-01 09:31:10

标签: python string integer

在将字符串转换为整数时遇到问题,任何机构都可以帮助我吗?还是可以使用其他替代方法?

IBOutlet

3 个答案:

答案 0 :(得分:0)

ValueError:以10为底的int()无效文字:'4 5 29 54 4 0 -214 542 -64 1 -3 6 -6'

ValueError异常清楚地表明,它无法将str转换为以10为底的整数。

int()说:

如果x不是数字或给出基数,则x必须是字符串, 字节或字节数组实例,表示基数中的整数文字 基地。

x = int("2")本来可以。但是,您的字符串包含int序列。您无法使用str构造函数将int转换为int

您需要使用list comprehensionmap来获取int列表,然后对其进行操作。

使用list comprehension

s = "4 5 29 54 4 0 -214 542 -64 1 -3 6 -6"
li = [int(i) for i in s.split()]
print(li)

使用map

s = "4 5 29 54 4 0 -214 542 -64 1 -3 6 -6"
print(list(map(int, s.split())))

输出:

[4, 5, 29, 54, 4, 0, -214, 542, -64, 1, -3, 6, -6]

已编辑:

s = "4 5 29 54 4 0 -214 542 -64 1 -3 6 -6"
li = [int(i) for i in s.split()]
print(max(li), min(li))

输出:

542 -214

答案 1 :(得分:0)

如果要获取整数列表,请执行以下操作:

s = "4 5 29 54 4 0 -214 542 -64 1 -3 6 -6"
x = list(map(int, s.split()))
# [4, 5, 29, 54, 4, 0, -214, 542, -64, 1, -3, 6, -6]

print(max(x), min(x))

答案 2 :(得分:0)

数字“ 4 5 29 54 4 0 -214 542 -64 1 -3 6 -6”不存在。分开(在其他评论中建议)。 https://docs.python.org/3.4/library/functions.html?highlight=int#int