擅长:python、mysql、java
<p>您是对的,这是一个Python 2的东西,但修复非常简单:</p>
<pre><code>list.sort(key=lambda a: (a[0].lower(), a[1]))
</code></pre>
<p>这看起来并不那么清楚,因为名称<code>a</code>和{<cd2>}没有比<code>a[0]</code>和{<cd4>}更多的内在含义。(如果他们是<code>name</code>和{<cd6>}或其他什么,那可能是另一个故事…)</p>
<hr/>
<p>Python2允许您将函数参数解压为元组。这种方法在一些简单的情况下有效(有时也很方便),但也有很多问题。请参见<a href="https://www.python.org/dev/peps/pep-3113/">PEP 3113</a>了解它被删除的原因。在</p>
<p>处理此问题的标准方法是在函数内部拆分值,这在<code>lambda</code>中不太有效。但是,有什么原因不能把函数定义得越界呢?在</p>
^{pr2}$
<hr/>
<p>作为一个补充说明,你真的不应该调用你的list <code>list</code>;它隐藏了<code>list</code>类型,所以你不能再使用它了(例如,如果你想通过写<code>list(tup)</code>将元组转换为列表,那么你将尝试调用你的列表,并得到一个令人困惑的错误)。在</p>