Python 巨蟒-通过相似的特征匹配狗的品种

Python 巨蟒-通过相似的特征匹配狗的品种,python,dictionary,for-loop,keyvaluepair,Python,Dictionary,For Loop,Keyvaluepair,我正在尝试编写一个Python函数,该函数接受带有属性集的狗品种字典。该函数接受一个参数,即字典中存在的字符串breed。任务是输出与原始品种输入具有相似属性的品种列表 如果一个品种与原始品种的共同形容词多于其他品种,则返回仅包含该品种的集合。如果多个品种与原始品种有相同数量的共同形容词,请返回这些品种的集合 我收到的是AttributeError:'str'对象没有属性“值”,根据下面的代码,我不确定为什么。我的理解是,breed充当的字符串与dict键不可比。任何帮助都会很棒 def fin

我正在尝试编写一个Python函数,该函数接受带有
属性集的狗品种字典。该函数接受一个参数,即字典中存在的字符串
breed
。任务是输出与原始品种输入具有相似属性的品种列表

如果一个品种与原始品种的共同形容词多于其他品种,则返回仅包含该品种的集合。如果多个品种与原始品种有相同数量的共同形容词,请返回这些品种的集合

我收到的是
AttributeError:'str'对象没有属性“值”
,根据下面的代码,我不确定为什么。我的理解是,
breed
充当的字符串与dict键不可比。任何帮助都会很棒

def find_similar_dogs(breed):
    dog_match = []
    for k, v in dogs.items(): 
        if breed in dogs.keys():
            if breed.values() == v:
                dog_match.append(k)
    return dog_match

breed
显然是一个字符串,它没有
方法。你的意思是在
上调用
?你的意图是什么?好的,唯一具有
方法的常见类型是字典。@Carcigenicate的目的是1)检查品种是否作为键存在,2)如果存在,检查品种的值是否与字典中存在的任何其他品种的值匹配,3)将这些其他品种附加到我的空列表中,4)返回新列表您需要将品种dict传递给函数,以便使用
breeddict[bread]
访问品种属性。然后你可以通过循环检查属性是否匹配。你可能应该在这里通读字典部分:@user55449是的,谢谢