Python 3.x 为什么当我放入else语句时,它会立即返回else语句中的值?
这是我为字典列表创建的函数,如下所示:Python 3.x 为什么当我放入else语句时,它会立即返回else语句中的值?,python-3.x,Python 3.x,这是我为字典列表创建的函数,如下所示: db = [{'a':1, 'b': 2, 'c': 3}, {'c':13, 'd':14, 'e':15}, {'e':25, 'f':26, 'g':27}] 当我这样调用方法时:它立即返回else语句中的内容 def call(db, key): new = [] for i in range (len(db)): if key in db[i]: new.append((i, db[i][
db = [{'a':1, 'b': 2, 'c': 3}, {'c':13, 'd':14, 'e':15}, {'e':25, 'f':26, 'g':27}]
当我这样调用方法时:它立即返回else语句中的内容
def call(db, key):
new = []
for i in range (len(db)):
if key in db[i]:
new.append((i, db[i][key]))
else:
return []
return sorted(new)
当我取出else语句时,它返回正确的结果。为什么会这样
感谢原因是,只要在
db
变量中找到不包含键的字典,for循环中的return
语句就会被触发,尽管以后在db
中可能会出现dict。(调用函数时,return
语句将立即结束函数的执行)读取并使用。理解并利用自己的代码调试功能是一项非常值得学习的技能。