You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python中字符串列表执行max()函数的返回结果为什么不是最长字符串?

问题原因解答
  • Python内置max()函数对字符串的默认比较规则是按Unicode码点逐位比对,不会默认参考字符串长度。
  • 比对Manchester和united时,首先取两个字符串的首字符比较:'M'的Unicode码值为77,'u'的Unicode码值为117,117大于77,因此max()直接判定'united'为更大的元素,不会继续比对后续字符,也不会计算字符串长度。
  • 如果需要按照字符串长度取最大值,需要给max()指定key参数为len,修改代码为:
max(l, key=len)

执行后就会返回你预期的长度最长的'Manchester'。

你可以通过ord('M')、ord('u')两个代码手动输出字符的Unicode值,验证上述比对逻辑。

内容的提问来源于stack exchange,提问作者Mary

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 12:06:03