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

如何用Python列表推导式找出句子最长单词?求有效解决方案

用Python列表推导式找出字符串中的最长单词

你的代码出错原因很明确:max(s)是取原字符串s中ASCII值最大的字符(比如这里是字符't'),而不是单词长度的最大值,所以len(i)永远不可能等于这个字符,自然返回空列表。

正确的做法是先算出所有单词的最大长度,再用列表推导式筛选长度匹配的单词:

  1. 先拆分字符串得到单词列表,计算最长单词的长度:
s = "This is my statement"
max_length = max(len(word) for word in s.split())
  1. 用列表推导式筛选符合长度的单词:
longest_word = [word for word in s.split() if len(word) == max_length]

也可以把两步合并成一行(可读性稍差,但代码更紧凑):

s = "This is my statement"
longest_word = [word for word in s.split() if len(word) == max(len(w) for w in s.split())]

运行后longest_word的结果是['statement'],符合预期。如果字符串中有多个长度相同的最长单词,这个方法也能把它们全部找出来。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.08 23:47:31