a=[1,2,3,4]
def func(x):
return x**x
b=sorted(a,func)
这行代码总是会报错->
TypeError: sorted 预期只有 1 个参数,但给出了 2 个
事实上,sorted 的语法为 sorted(iterable, key=None, reverse=False)
,其中 key
和 reverse
是可选的参数。根据这个规则,我传递的第二个参数必须与 key
一起使用。
并且当我定义自己的函数时
def func2(x,y=4,z=10):
print(x,y,z)
func2(100,200)--->output-->>100 200 10
这里自动将200作为func2
的y
参数传递。这是如何工作的呢?
b = sorted(a, key=func)
可以工作,但在这种情况下不会有太大作用。 - bherbruck