Python - 将括号内的数字字符串转换为整数值

时间:2013-07-14 06:25:58

标签: python parsing python-3.3

编辑: 由Haidro解决。

还要感谢大家的帮助。在每次谷歌搜索之后一直潜伏在这里一段时间,从未意识到这个社区有多活跃!再次感谢:)。


我正在尝试转换以下内容:

    ['(9,133,000)', '']

只是:

    -9133000

我已尝试使用以下代码:

mystring = [int(x) for x in mystring[0]] 

但收到错误:invalid literal for int() with base 10 : '('

我该怎么做呢?任何帮助将不胜感激!

感谢您的回答!

2 个答案:

答案 0 :(得分:2)

您可以在字符串中使用Python的内置translate函数。

a =  ['(9,133,000)', '']
intval = -int(a[0].translate(None, '(),'))

http://www.tutorialspoint.com/python/string_translate.htm

答案 1 :(得分:1)

整数中没有逗号。您可以使用ast.literal_eval

>>> import ast
>>> L = ['(9,133,000)', '']
>>> print(-ast.literal_eval(L[0].replace(',','')))
-9133000