如果值是一个列表,是否有方法从值中检索键:
def add(self, name, number):
if name in self.bok.values():
print 'The name alredy exists in the telefonbok.'
else:
self.bok.update({number: []})
self.bok[number].append(name)
print self.bok
如果列表中只有一个元素,则可以执行此操作:
^{pr2}$但是如果我插入更多的元素,它会给我一个错误,它不在列表中, 如果你想知道我正在用课堂和字典创建一本电话簿,我想 给和别名的号码,也能改变一个名字的号码和别名也应该得到新的号码。如果我模糊不清的话,很抱歉
如果您发现自己在想“我如何根据密钥的值来查找它?”这通常意味着你的字典走错了方向,或者至少你应该保留两本字典。这是尤其是如果您注意到自己用手确保值是唯一的,则更是如此!在
目前,您的条件永远不会为真(除非}看起来像是一个列表列表。如果姓名在电话簿中只出现一次,这是一个很好的提示,那就是你应该有一本与之相反的字典。在
self.bok.values()
以其他方式更新),因为name
是一个字符串,而{假设您还需要数字到名称的查找,那么我要做的是向您的类添加另一个字典,并在您添加新的名称/编号对时更新它们。在
如果不管出于什么原因,您都执意要用这种方法来完成,那么Óscar López's answer中的
findByValue
方法就是您所需要的。在相关问题 更多 >
编程相关推荐