首页 > 解决方案 > 在 Python 中运行函数时未定义参数

问题描述

在此处输入图像描述

使用以下代码:

def sortByAveScore (bList):
  for x in range(len(aNameLst)):
    avgsorted=sorted(average)
    sortlist=list(zip(aNameLst,avgsorted))
    sortname=sorted(sortlist,key=lambda x: x[1])
  return(sortname)
sortByAveScore (bList)

我得到参数未定义的错误,但如果我取消参数,它工作正常。我做错了什么或者我对此不理解?我是编程新手,所以我有点困惑。

def sortByAveScore ():
  for x in range(len(aNameLst)):
    avgsorted=sorted(average)
    sortlist=list(zip(aNameLst,avgsorted))
    sortname=sorted(sortlist,key=lambda x: x[1])
  print(sortname)
sortByAveScore ()

在此处输入图像描述

标签: pythonfunctionparameters

解决方案


您似乎正在使用本地 (avgsorted, sortlist, ...) 和全局 (aNameLst, average) 变量。是作为参数传递给函数的bList,所以当你尝试做的时候sortByAveScore(bList)bList在函数之外不存在。这就是为什么如果你这样做sortByAveScore()(不带参数)它不会显示错误,因为没有未创建的东西被传递给函数。

您可能想创建一个与 相同类型的 Object ,bList然后将其传递给函数(看起来您可能会更改aNameLstbList,否则您不会在bList任何地方使用)。


推荐阅读