【发布时间】:2019-12-17 03:51:50
【问题描述】:
这在 Python 2.7 中完美运行
def some_compare_func(x, y):
....
a = sorted(some_list, lambda x, y: some_compare_func(x, y))
但是,在 Python 3.x 中同样会出现此错误。
TypeError: sorted expected 1 arguments, got 2
有没有一种方法可以使用在 Python 2.7 和 3.x 中都可以使用的排序函数进行排序?
【问题讨论】:
-
但是它不再适用于 Python 2.7。伙计,这很烦人:(
-
是的,试过了,在 2.7 中不起作用。说 TypeError:
() 只需要 1 个参数(给定 2 个) -
你能展示一个实际的最小可重现示例吗?您还必须通过像
key = lambda...这样的关键字参数来指定键。 -
您可能想看看official documentation,它解释了如何将使用 Python 2 排序的代码移植到 Python 3。
标签: python python-3.x python-2.7 sorting