使用python查找列表中的最大(max)textitem

2024-04-24 14:14:19 发布

您现在位置:Python中文网/ 问答频道 /正文

为什么max函数在下面两个列表中的操作不同:

>>> list1=['the school','boy', 'the wise old man']
>>> max(list1)
'the wise old man'

list2=['made', 'with', 'then', 'happy home', 'came', 'this', 'them', 'from', 'have', 'into']
>>> max(list2)
'with'

显然,在list2中,'happy home'应该是'max',因为它比列表中的其他部分有更多的文本。你知道吗

知道为什么吗? 谢谢。你知道吗


Tags: the函数home列表witholdmaxboy
2条回答

max()按字典顺序比较字符串;您找到了最后排序的元素。因此,'the wise old man'按字母顺序排在the school之后。你知道吗

要获得最长的字符串,请将函数传递给max()key参数:

max(list2, key=len)

一般来说,如果没有key函数,max()将找到值,其中value > othervalue对于输入序列中的所有其他值始终为真。你知道吗

key参数(如果提供的话)会给max()一个不同的值进行比较,以确定序列中哪个项最大。你知道吗

我想你想要的是最大尺寸的列表项。你应该这样用

max(list2, key=len)

结果是

'happy home'

键一方面改变了max函数的行为,另一方面又找到了具有最大长度的max项。你知道吗

相关问题 更多 >