有一个用 python 2.7 编写的方法:
def findKeyInFnames(listOfDicts, someValue):
for element in listOfDicts:
if(element['someKey']==someValue):
return element['someOtherKey']
else:
return 'Not found'
ListOfDicts- 具有一些值的类似字典列表someValue- 执行搜索的键的某个值
每次调用该方法时,它必须从同一个字典中返回一个具有不同键的值。
问题是,无论键的值和它们的匹配项如何,它总是返回"Not found". 但是,如果你这样做:
def findKeyInFnames(listOfDicts, someValue):
for element in listOfDicts:
if(element['someKey']==someValue):
return element['someOtherKey']
然后一切正常,并返回所需的值,除了而不是not found返回None。
为什么会发生这种情况,我怎样才能None从该方法返回我自己的消息?
不是在一个循环中,而是作为程序的最后一行。