2024-03-28 23:30:05 发布
网友
def biggest(aDict): if aDict.values() == [] : return None lengths =[] for e in aDict: lengths.append(len(aDict[e])) return max(lenghts)
biggest({'U': []})或任何其他操作都会产生错误:
biggest({'U': []})
lenghts是在我的函数中定义的,你能帮我吗?在
因为你有return max(lenghts),你的变量叫做lengths?在
return max(lenghts)
lengths
只是拼写错误。在
lengths和{}不同。在
Python解释器在封闭范围内寻找变量(当它找不到本地变量时),直到它到达全局范围。在
找不到长度-由于打字错误,它应该是长度-它开始在全局范围内查找它。如果找不到它,它报告在全局范围内找不到它,这意味着它在局部范围内也找不到它。在
这里有一个更紧凑、更不容易出错(拼写错误的变量更少)的变体:
def biggest(aDict): if not aDict: return None return max(len(val) for val in aDict.values())
因为你有
return max(lenghts)
,你的变量叫做lengths
?在只是拼写错误。在
lengths
和{Python解释器在封闭范围内寻找变量(当它找不到本地变量时),直到它到达全局范围。在
找不到长度-由于打字错误,它应该是长度-它开始在全局范围内查找它。如果找不到它,它报告在全局范围内找不到它,这意味着它在局部范围内也找不到它。在
这里有一个更紧凑、更不容易出错(拼写错误的变量更少)的变体:
相关问题 更多 >
编程相关推荐