使用python查找列表中的最大文本项
为什么max功能在以下两个列表中的操作不同:使用python查找列表中的最大文本项,python,text,max,Python,Text,Max,为什么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'
>>> 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'
显然,在列表2中,“快乐家园”应该是“最大值”,因为它比列表中的其他文本有更多的文本
你知道为什么吗?
谢谢。max按字典顺序比较字符串;您找到了将最后排序的元素。因此,“聪明的老人”按字母顺序排在学校后面
要获取最长的字符串,请将函数传递给max的键参数:
一般来说,如果没有键函数,max将为您找到值,其中值>其他值对于输入序列中的所有其他值始终为真
如果提供了键参数,则会给max一个不同的值进行比较,以确定序列中哪个项最大。max按字典顺序比较字符串;您找到了将最后排序的元素。因此,“聪明的老人”按字母顺序排在学校后面
要获取最长的字符串,请将函数传递给max的键参数:
一般来说,如果没有键函数,max将为您找到值,其中值>其他值对于输入序列中的所有其他值始终为真
如果提供了键参数,则会给max一个不同的值进行比较,以确定序列中哪个项最大。我想您需要的是具有最大大小的列表项。你应该这样用
max(list2, key=len)
结果是
'happy home'
键更改max函数的行为,另一方面,它会查找具有最大长度的max项。我想您需要具有最大大小的列表项。你应该这样用
max(list2, key=len)
结果是
'happy home'
键更改max函数的行为,另一方面,它会查找具有最大长度的max项。@JayanthKoushik:它必须是可调用的。我在这里为初学者简化。谢谢你的解释@MartijnPieters,很好,很直接。@JayanthKoushik:这一定是一个可调用的。我在这里为初学者简单化。谢谢你的解释:马蒂尼皮特斯,很好,直截了当。要小心你认为明显的东西。要小心你认为明显的东西。谢谢解释。Vijay KummarThanks解释说:Vijay Kummar。