【问题标题】:How to find the second longest word in a python list [duplicate]如何在python列表中找到第二长的单词[重复]
【发布时间】:2021-11-04 03:31:58
【问题描述】:

我有一个列表,其中最长的单词不是真正的英语单词,所以我想在列表中找到第二长的单词以确保它是一个英语单词。

words 是我列表的名称

我试过了

longest_word = max(words, key=len)-2
longest_word = max(words, key=len)[:-2]

我试过了

from itertools import groupby
[next(g) for _, g in groupby(sorted(longest_word, key=len), len][-2]

如何找到列表中第二长的单词?

【问题讨论】:

  • 嗯,你试过sorted(words, key=len)[-2]吗?
  • 似乎已经做到了。如果您希望将您的评论作为答案,我会将其标记为已接受的答案并对其进行投票@rv.kvetch
  • 嗯,这是个好主意,不幸的是,它看起来已经关闭了。仍然是个好主意,并欣赏它:-)
  • 欢迎来到 Stack Overflow。问题以重复的形式关闭,因为它可以帮助其他人稍后搜索该网站,并且可以节省其他回答者的工作量。我们并不是因为找不到重复项而责骂您 - 我们是为您找到它并为您提供链接,即回答您的问题。另外,请记住,如果您反对您的问题的处理方式,则该投诉不属于对问题的编辑 - 它属于评论或meta.stackoverflow.com
  • 在搜索时可以帮助的另一件事是概括一下。例如python n longest 给我another candidate 作为第一个结果,尽管这不是同一个问题。

标签: python list loops max


【解决方案1】:

你可以试试这样的

sorted(words, key=len)[-2]

【讨论】:

  • 如果不是字符串,什么是“单词”?
  • words 是列表的名称
  • 这将找到列表中第二大的字符串。你试过了吗? @WilhelmGleiss
  • 你没有尝试找到类似的东西吗? word = ["a", "aa", "aaa", "aaaa"] print(sorted(word, key=len)[-2])
猜你喜欢
  • 2018-05-08
  • 2020-04-26
  • 1970-01-01
  • 2012-04-12
  • 1970-01-01
  • 2016-05-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多