以下代码应该在删除 SpamWords[0] 后打印 MyWords。然而;而不是返回"is",而是返回“无”。为什么它返回“无”?
MyWords = "Spam yes"
SpamWords = ["SPAM"]
SpamCheckRange = 0
print ((MyWords.upper()).split()).remove(SpamWords[SpamCheckRange])
最佳答案
因为 remove
是一种改变它被调用的可变列表对象的方法,并返回 None
。
l= MyWords.upper().split()
l.remove(SpamWords[SpamCheckRange])
# l is ['YES']
也许你想要:
>>> [word for word in MyWords.split() if word.upper() not in SpamWords]
['yes']
关于Python 字符串方法难题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2247600/