如果条件为括号内的值或不是python

时间:2014-12-06 02:11:23

标签: python-2.7

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

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

请帮忙。

1 个答案:

答案 0 :(得分: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