Python 字符串方法难题

发布于 2024-08-21 09:22:17 字数 226 浏览 6 评论 0原文

以下代码应该在删除 SpamWords[0] 后打印 MyWords。然而;它不返回“是”,而是返回“无”。为什么它返回“无”?

MyWords = "Spam yes"
SpamWords = ["SPAM"]
SpamCheckRange = 0
print ((MyWords.upper()).split()).remove(SpamWords[SpamCheckRange])

The following code is supposed to print MyWords after removing SpamWords[0]. However; instead of returning "yes" it instead returns "None". Why is it returning "None"?

MyWords = "Spam yes"
SpamWords = ["SPAM"]
SpamCheckRange = 0
print ((MyWords.upper()).split()).remove(SpamWords[SpamCheckRange])

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

紫南 2024-08-28 09:22:17

因为 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']

Because remove is a method that changes the mutable list object it's called on, and returns None.

l= MyWords.upper().split()
l.remove(SpamWords[SpamCheckRange])
# l is ['YES']

Perhaps you want:

>>> [word for word in MyWords.split() if word.upper() not in SpamWords]
['yes']
浅唱ヾ落雨殇 2024-08-28 09:22:17

removelist 的方法(str.split 返回一个列表),而不是 str。它会改变原始列表(删除您传递的内容)并返回 None不是修改后的列表。

remove is a method of list (str.split returns a list), not str. It mutates the original list (removing what you pass) and returns None, not a modified list.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文