2014-12-06 36 views
0

我知道这个问题已经有很多问题了,但我只需要一小步。我试图找出一种方法来查看某个特定值是否在括号内。我需要将括号内的值存储为负整数,否则为正整数。我正在使用这个函数,但它给了我错误的值不在括号内。如果括号内的值或不是python的条件

def extract(string, start='(', stop=')'): 
     return string[string.index(start)+1:string.index(stop)] 

请帮忙。

+0

可能重复http://stackoverflow.com/questions/16718648/convert-a -number封闭功能于括号-字符串到一个-负整数或-FLOA) – 2014-12-06 02:16:12

回答

0

如果你只是想,如果他们存在以删除括号和没有括号返回数字的字符串表示,只是strip()他们:

>>> a = '(-23)' 
>>> b = '43' 
>>> a.strip('(').strip(')') 
'-23' 

>>> b.strip('(').strip(')') 
'43' 

另外,如果您想实际整数和它们存储没有迹象:

In [1]: def extract(s): 
    ...:  if s.startswith('(') and s.endswith(')'): 
    ...:   return -int(s[1:-1]) 
    ...:  return int(s) 
    ...: 

In [2]: extract('(23)') 
Out[2]: -23 

In [3]: extract('43') 
Out[3]: 43 
[η使用Python转换括在括号中(字符串)到负整数的数(或浮动)](