最大的蟒蛇 - 错误失踪1人需要位置参数:“B”
问题描述:
我试图做蟒蛇一个锻炼(我的版本是python33 演习写着:最大的蟒蛇 - 错误失踪1人需要位置参数:“B”
写一个函数find_longest_word1(),它单词的列表,并返回最长的长度只能使用高阶函数
我的尝试是:。
def find_longest_word1(a):
out = max(list(map(len,a)))
print (out)
find_longest_word1(["This","is","a","listing"])
ŧ他得到的错误是:
max() missing 1 required positional argument 'b'
我已经通过一个列表作为参数。我需要给max函数一些其他参数吗?
答
的max()
功能您呼叫不是standard built-in,但有的叫max()
其他功能:内置的没有一个说法叫b
所以该错误信息不可能是它。
请仔细检查您是否定义(或导入)了一个名为max()
的函数。如果我猜的话,我期望的定义是这样的:
def max(a, b):
...
你的代码工作正常这里(用内置max()
):
In [50]: a = ["This", "is", "a", "listing"]
In [51]: max(list(map(len, a)))
Out[51]: 7
顺便说一句,在来电list()
是不必要的:
In [52]: max(map(len, a))
Out[52]: 7
答
,你可以简单地使用关键:
你质疑说返回长度:
>>> len(max(my_list, key=len))
7
+6
这并不回答OP的问题,他想知道为什么'max'函数要求'b'参数。你刚给了他一个使用内建'max'的解决方案,但是如果他覆盖了'max'函数(这似乎是合理的假设),那么你的解决方案仍然无法工作。 – Ffisegydd 2014-12-27 16:18:29
你有没有在你的代码做了'从numpy的进口*'什么地方?或者类似的东西? – Ffisegydd 2014-12-27 16:14:38
感谢您的指针。我之前练习的代码有两个参数的用户定义的最大函数。对我来说不好。 – 2014-12-27 16:16:56
这在我的电脑上正常工作 – Hackaholic 2014-12-27 16:18:17