2017-06-12 76 views
0

我提取只是一个数字从一个字符串:将列表内的号码转到列表外的号码;一个字符串

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

我尝试做把该列表转换为字符串:

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

weight: [7088]

所以,我想只返回一个整数智慧H:

weight = int(weight)但得到:

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

于是我又尝试了初步清单数字转换为浮动有:

weight = float(weight)但得到:

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

最终这会导致我的代码失败,因为我的RegEx没有认识到这是一个数字。 (正则表达式:regnumber = re.compile(r"(\d),(\d) | (\d)")

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

+4

很确定你推翻了这个问题。考虑休息一下:D – nikpod

+0

不要把它变成一个“int”来开始。 – salparadise

回答

2

如果它仅仅是一个列表中的数量始终,你可以这样做:

weight = str(weight[0]) 

或使用浮动(),INT()等,根据您的需要

+0

或int(权重[0]) – vZ10

+0

谢谢。 Idk,如果我说每个人都在过度嘲笑它,但是我肯定对此很失望。感谢您帮助我 – theprowler

1

明显的是不把它变成一个int开始与:

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

,但如果你必须:

weight = map(str, weight)