gpt4 book ai didi

python - 在列表中搜索

转载 作者:行者123 更新时间:2023-12-01 02:39:57 26 4
gpt4 key购买 nike

class CommandManager:
def __init__(self):
self.commands = []

def add_command(self, command: Command):
if command is None:
return None

for target in self.commands:
if target.name is command.name:
return None

print(command.name, command.description, command.usage, command.min_arguments) # debug

self.commands.append(command)
return command

def get_command(self, name):
if name is None:
return None
for target in self.commands:
if name is target.name:
return target
return None

这段代码有什么问题?添加到数组并在 add_command 方法中查找它工作正常,但在 get_command 中却找不到它。没有值是None

最佳答案

测试身份,而不是平等。这意味着 Python 只是比较对象所在的内存地址。

您应该使用 == 运算符来测试字符串的相等性,例如:

if name == target.name:

关于python - 在列表中搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45825116/

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