擅长:python、mysql、java
<p>在python2.7中,函数<code>sorted</code>的签名是<code>sorted(iterable[, cmp[, key[, reverse]]])</code>。您正在传递一个键函数作为第二个参数,而实际上它是第三个参数。要始终确保向函数传递正确的内容,请使用命名参数。他说</p>
<pre><code>message = {'tcu':1,'timestamps':{'device':23432}}
message_array = [message, message]
key = lambda message: (message['tcu'], message['timestamps']['device'])
sorted(message_array, key=key)
</code></pre>
<p>因为<code>key</code>应该是一个接受一个参数的函数,所以传入lambda的元组是没有意义的。他说</p>