当前位置: 首页 > 面试题库 >

Python-从列表中打印多个最短和最长的单词

南门星河
2023-03-14
问题内容

我需要浏览列表并在其中打印最长的单词。我只用一个字就能做到这一点,但是,例如,如果有两个字长为三个字母,就无法弄清楚如何打印多个字。我试过了

list.sort (key=len, reverse =True)
print ("The longest word in the list is: " , list[0])

此方法有效,但只打印第一个最长的单词,这对于一个以上的最长单词没有好处。

我也尝试过:

p=0
for item in list:
    if len (item) > p:
        s=item
        p = len(item)
print (s)

这也与之前的代码相同

对于列表中最短的单词,我也需要这样做。

抱歉,这不是一个好问题,这是我的第一个问题。


问题答案:

实际上,可以将您现有的代码修改为可以正常工作。不要在中保留一个字符串s,而应保留一个list字符串。如果找到与上一个最长的长度相同的长度,则为该长度append。如果您发现的更长,则扔掉list并开始新的。像这样:

p=0
s=[]
for item in lst:
    if len(item) > p:
        s=[item]
        p=len(item)
    elif len(item) == p:
        s.append(item)
print(s)


 类似资料:
  • 问题内容: 获取最长单词长度的更Python方式是什么: 要么: 或者是其他东西? 是字符串列表。我发现我经常需要这样做,并且在用几个不同的样本量进行计时之后,第一种方法似乎始终如一地更快,尽管在票面价值上似乎效率不高(被叫两次的冗余似乎无关紧要,在第二种方法中发生的更多)这种形式的C代码?)。 问题答案: 我认为两者都可以,但是我认为除非速度是最易读的大考虑。 当我看着它们时,我花了更长的时间才

  • longestCommonSubsequence正在返回LCS的长度。代码运行良好。但我试图打印子序列的值。例如,它应该打印“acef”。但我的代码只打印“ae”<如何修复? 这是完整的代码https://pastebin.com/Sq4QMtxF

  • 所以我做了一个函数 因此,它所做的是获取一个字符串,将其拆分,并生成一个字典,其中键是单词,值是它出现的次数。 好的,我现在要做的是,做一个函数,它接受这个函数的输出,并产生一个如下格式的列表- ((超过1个字母的单词列表),(最常用单词列表),(最长单词列表)) 另外,例如,假设两个单词出现了3次,并且两个单词都有6个字母长,那么这两个单词都应该包含在(最频繁的)和(最长的)列表中。 因此,到目

  • 我尝试通过像这样更改if语句来只获得最长的回文。 这并不像预期的那样有效。我只打印第一个回文[“w”],然后在列表中返回整个字符串[“w”,“h”,...]

  • 问题内容: 我敢肯定有一个简单而明显的方法可以做到这一点,但是我一直在谷歌搜索和阅读文档,但是我什么都找不到。 这是我要实现的目标: 我有一个日期列表,其中一些带有标记。然后,我有一个更大的日期列表,我想将最小的列表尽可能多地放入更大的列表中。由于我需要访问较大列表中的日期才能获得最终结果,因此可能需要某种循环。 出于某种原因,我只是看不到执行此操作的好方法。 问题答案: 尝试

  • 问题内容: 我想格式化最多不超过2个小数位的浮点数列表。但是,我不想尾随零,也不想尾随小数点。 因此,例如=> ,=> ,=> ,=> 。 简单的解决方案是。但是,这看起来很丑陋,而且看起来很脆弱。还有更好的解决方案,也许带有一些神奇的格式标志? 问题答案: 您需要将和剥离分开;这样你永远不会剥夺自然。 或者,使用函数,但这实际上归结为同一件事: 一些测试:

  • 我试图在c中实现最长公共子序列算法,矩阵c[]]存储最长公共子序列的长度,行[][]存储c[]]矩阵中的父块行,列[][]存储父块列。 我对解决LCS的方法非常不便和低效表示歉意,但什么都没有打印出来。请帮忙。

  • 问题内容: python中是否有内置函数返回两个列表的最长公共子序列的长度? 我试图找到最长的公共子序列,然后得到它的长度,但是我认为必须有一个更好的解决方案。 问题答案: 您可以轻松地将LCS重新装配为LLCS: 演示: 如果您想要最长的公共 子字符串 (一个 不同 但相关的问题, 子 序列是连续的),请使用: 这与动态编程方法非常相似,但是我们跟踪到目前为止找到的最大长度(因为不再保证表中的最