我正在尝试按属性对某些值进行排序,如下所示:
a = sorted(a, lambda x: x.modified, reverse=True)
我收到此错误消息:
<lambda>() takes exactly 1 argument (2 given)
为什么?我如何解决它?
This question was originally written for Python 2.x. In 3.x, the error message will be different: TypeError: sorted expected 1 argument, got 2
.
Use
a = sorted(a, key=lambda x: x.modified, reverse=True)
# ^^^^
在 Python 2.x 上,sorted
函数按以下顺序获取参数:
sorted(iterable, cmp=None, key=None, reverse=False)
所以没有key=
,您传入的函数将被视为cmp
带有 2 个参数的函数。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)