将列表中的数字转到列表外的数字;一个字符串

时间:2017-06-12 17:17:15

标签: python string list

我从字符串中提取了一个数字:

weight = [int(s) for s in fish.split() if s.isdigit()],结果为list[7088]

我尝试通过执行以下操作将该列表转换为字符串:

weight = str(weight) print("weight:", weight)但打印输出仍为:

weight: [7088]

所以我尝试只返回一个整数:

weight = int(weight)但得到了:

ValueError: invalid literal for int() with base 10: '[7088]'

所以我尝试将初始列表编号转换为浮点数:

weight = float(weight)但得到了:

ValueError: could not convert string to float: '[7088]'

最终这会导致我的代码失败,因为我的RegEx并未将其识别为数字。 (RegEx:regnumber = re.compile(r"(\d),(\d) | (\d)")

是否有一种简单的方法可以将列表中的初始返回数字转换为数字/字符串/整数,而不是我的RegEx实际可以识别的数字?

2 个答案:

答案 0 :(得分:2)

如果列表中只有一个数字,您可以这样做:

weight = str(weight[0])

或根据您的要求使用float(),int()等

答案 1 :(得分:1)

显然不是要把它变成一个int来开始:

weight = [s for s in fish.split() if s.isdigit()]

但如果你必须:

weight = map(str, weight)