我知道已经有很多问题,但我只需要一小步。我试图找出一种方法来查看特定值是否在括号内。我需要将值存储在括号内作为负整数,否则为正整数。我正在使用此函数,但它给出了不在括号中的值的错误。
def extract(string, start='(', stop=')'):
return string[string.index(start)+1:string.index(stop)]
请帮忙。
答案 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