我有下面的代码,我想了解:了解__call__和list.sort(键)
>>> class DistanceFrom(object):
def __init__(self, origin):
self.origin = origin
def __call__(self, x):
return abs(x - self.origin)
>>> nums = [1, 37, 42, 101, 13, 9, -20]
>>> nums.sort(key=DistanceFrom(10))
>>> nums
[9, 13, 1, 37, -20, 42, 101]
谁能解释这是如何工作?据我所知,__call__
是调用object()
时调用的 - 调用该对象作为函数。我不明白的是nums.sort(key=DistanceFrom(10))
。这个怎么用?任何人都可以请解释这一行吗?
谢谢!
谢谢!太棒了。 – user225312 2010-10-27 14:58:32
@阿尔弗雷德,你最欢迎 – 2010-10-27 15:01:43