【发布时间】:2021-07-12 01:05:29
【问题描述】:
如何解决我的代码的以下错误,尝试根据奇数索引对元素进行排序:
numbers = [2,3,4,7,2,3,1,8,6]
numbers.sort(key=lambda n:n[1])
print(numbers)
Error:
---------------------------------------------------------------------------
<ipython-input-26-a95756aeb06b> in <lambda>(n)
1 numbers = [2,3,4,7,2,3,1,8,6]
----> 2 numbers.sort(key=lambda n:n[1])
3 print(numbers)
TypeError: 'int' object is not subscriptable
【问题讨论】:
-
你的预期输出是什么?
-
"试图根据奇数索引对元素进行排序" 这是什么意思?你的元素是整数;他们没有“索引”。
-
发生这种情况是因为您将列表中的数字传递给 lambda,然后指示 lamda 返回 number[1],这是仅在可迭代对象上支持的操作,而不在 ints 上。
标签: python list sorting object lambda