gpt4 book ai didi

python - 如何在类对象上调用 .lower?

转载 作者:太空宇宙 更新时间:2023-11-03 15:34:03 24 4
gpt4 key购买 nike

我有一个名为“Earthquake”的类,它有一个字符串形式的位置,以及一些对这个问题不重要的其他部分(我不认为)。我编写了一个函数(filter_by_place),它迭代我传递给它的地震列表,并在每个地震位置字符串中查找给定的单词。如果在地震位置找到该单词,则会将该地震添加到列表中。我的问题是它不能区分大小写,我试图通过在位置字符串的全小写版本中查找全小写单词来实现这一点。

def filter_by_place(quakes, word):
lst = []
for quake in quakes:
if word.lower in (quake.place).lower:
lst.append(quake)
return lst

我收到一条错误消息“TypeError:‘builtin_function_or_method’类型的参数不可修改”所以,我的问题是:如何让类中的字符串仅针对此函数变为小写,以便我可以搜索单词而不必担心区分大小写?

我已经尝试添加

if word.lower or word.upper in quake.place:

在 for 循环内,但这不起作用,我可以理解为什么。帮助?

最佳答案

您收到错误是因为您实际上并未调用 lower 字符串函数。我猜您来自 ruby​​,不需要这样做。

尝试:

def filter_by_place(quakes, word):
lst = []
for quake in quakes:
if word.lower() in quake.place.lower():
lst.append(quake)
return lst

关于python - 如何在类对象上调用 .lower?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42685711/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com