以下代码应该在删除 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/

10-13 05:05