你能解释一下这个python代码吗?
Here how does
L.sort(有趣)`work?
def fun(a, b):
return cmp(a[1], b[1])
L= [[2, 1], [4, 5, 3]]
L.sort(fun)
print L
答案 0 :(得分:0)
来自官方文件:
The sort() method takes optional arguments for controlling the comparisons.
cmp specifies a custom comparison function of two arguments (list items)
which should return a negative, zero or positive number depending on whether
the first argument is considered smaller than, equal to, or larger than the
second argument: cmp=lambda x,y: cmp(x.lower(), y.lower()).
The default value is None.
所以你试图用你自己的功能控制比较"有趣"。比如说比较列表中列表的第一个索引(嵌套列表)中的值。
如果你试图单独测试它,你会得到-1,因为a [1]小于b [1]
显然,因此输出是" [[2,1],[4,5,3]]"已经分类
a = [2,1]
b = [4,5,3]
cmp(a[1], b[1])
您可以尝试在第一个索引处更改值,就像这样,您将了解它是如何工作的。
像这样的东西
def fun(a,b):
return cmp(a[1], b[1])
L=[[2,6],[4,5,3]]
L.sort(fun)
print L
我希望这会有所帮助。