Python代码中len函数输出“built-in function len”问题排查
问题分析与解决
哦,这个小问题很容易犯!你看你的代码里,在infolist函数中已经正确计算出列表的长度并赋值给了leng变量,但最后打印的时候却写了len而不是leng——这就导致Python输出的是内置函数len本身,而不是你想要的列表长度数值。
错误原因
当你直接写len(不带括号和参数)时,Python会把它识别为一个函数对象,所以打印出来就是built-in function len;而你需要的是调用len(alist)得到的长度值,或者你已经存在leng变量里的结果。
修正后的代码方案
你有两种简单的修正方式:
方案1:使用已经定义好的leng变量
def infolist(alist): maxi = max(alist) mini = min(alist) leng = len(alist) print(maxi, mini, leng) # 把这里的len改成leng thelist = (23,33,1,7) print(thelist) infolist(thelist) print(thelist)
方案2:直接在print里调用len(alist)
如果不想额外定义leng变量,也可以直接在打印时计算长度:
def infolist(alist): maxi = max(alist) mini = min(alist) print(maxi, mini, len(alist)) # 直接调用len函数获取长度 thelist = (23,33,1,7) print(thelist) infolist(thelist) print(thelist)
这样修改后,运行代码就能正常输出列表的最大值、最小值和长度啦~
内容的提问来源于stack exchange,提问作者user8874475
相关产品推荐
相关产品推荐

