【发布时间】:2021-06-29 23:50:41
【问题描述】:
我有一个简单的程序,它应该通过键对数组的数组进行排序。
为什么sorted() 函数说它只需要 1 个参数,而我没有提供任何参数?
import operator
array = [[1, 6, 3], [4, 5, 6]]
sorted_array = sorted(iterable=array, key=operator.itemgetter(array[0][1]), reverse=True)
print(sorted_array)
这给出的错误:
Traceback (most recent call last):
File "...", line 4, in <module>
sorted_array = sorted(iterable=array, key=operator.itemgetter(array[0][1]), reverse=True)
TypeError: sorted expected 1 argument, got 0
【问题讨论】:
-
那么它说的是什么?一次不能有两个不同的错误消息。请显示确切的错误回溯。
-
@mkrieger1 两者都说:TypeError: sorted expected 1 argument, got 0.
-
听起来不错@Ajay 我会研究 lambdas
-
@Ajay 为什么?
operator模块主要用于替换 lambdas 的使用与预定义的运算符函数...即而不是做lambda x,y: x + y一个会只使用operator.add...
标签: python