我正在从xml文件解析并尝试为xml中的每个上下文构建一个字典。我已经成功解析了,现在我需要摆脱我得到的字符串中的停用词,标点符号和数字。
然而,出于某种原因,我无法摆脱这些数字,我整晚都在调试,希望有人能帮助我......
def is_number(s):
try:
float(s)
return True
except ValueError:
return False
我一直在检查方法' is_number'工作正常,但我不知道为什么它仍然可以通过if语句:
if (words[headIndex + index] not in cachedStopWords) and ~isNumber:
提前致谢!
答案 0 :(得分:2)
问题是:
~isNumber
~
是bitwise not operator。您想要not
boolean operator:
>>> ~True
-2
>>> ~False
-1
>>> not True
False
>>> not False
True
按位运算符会导致~isNumber
始终为真值(-1
或-2
),因此输入了if
语句。