擅长:python、mysql、java
<p>也可以将<a href="https://docs.python.org/3/library/functions.html#max" rel="nofollow noreferrer">^{<cd1>}</a>与<code>key</code>一起使用:</p>
<pre><code>data = [['Name1', '1 (5)', '0', '0', '0', 'TeamPos', 'TeamA'],
['Name2', '13 (0)', '5', '4', '0', 'TeamPos', 'TeamB'],
['Name3', '4 (1)', '2', '1', '0', 'TeamPos', 'TeamC']]
def get_max(lst, i, key_func=None):
if not key_func: key_func = lambda x: x[i]
res = max(lst, key=key_func)
return [res[0], res[i]]
print(get_max(data, 2, lambda x: int(x[2])))
# ['Name2', '5']
print(get_max(data, 6))
# ['Name3', 'TeamC']
</code></pre>
<p><code>get_max</code>的工作方式是指定二维列表、要检索的索引和要传递给<code>max</code>的键函数。如果没有提供key函数,则使用默认值(特别是<code>lambda x: x[i]</code>)。你知道吗</p>
<p>key函数应该定义要考虑哪个列来确定2d列表的最大值。你知道吗</p>
<p><strong>编辑</p>
<p>您在<code>data</code>函数内部定义<code>get_max</code>,但在函数外部使用它。将此更改为以下内容:</p>
<pre><code>def get_max(lst, i, key_func=None):
if not key_func: key_func = lambda x: x[i]
res = max(lst, key=key_func)
return [res[0], res[i]]
data = squads()
print(get_max(data,2, lambda x: int(x[2])))
</code></pre>