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

列表中最长单词的长度

苏胤
2023-03-14
问题内容

获取最长单词长度的更Python方式是什么:

len(max(words, key=len))

要么:

max(len(w) for w in words)

或者是其他东西?
words是字符串列表。我发现我经常需要这样做,并且在用几个不同的样本量进行计时之后,第一种方法似乎始终如一地更快,尽管在票面价值上似乎效率不高(len被叫两次的冗余似乎无关紧要,在第二种方法中发生的更多)这种形式的C代码?)。


问题答案:

我认为两者都可以,但是我认为除非速度是max(len(w) for w in words)最易读的大考虑。

当我看着它们时,我花了更长的时间才知道len(max(words, key=len))正在做什么,但直到我再三思而后行,我还是错了。除非有充分的理由,否则代码应该立即显而易见。

从其他帖子(以及我自己的测试)可以清楚地看出,可读性较差的帖子更快。但这并不意味着他们两个都慢。而且,除非代码处于关键路径上,否则就不必担心。

最终,我认为更具可读性的是Pythonhtml" target="_blank">语言。

顺便说一句,在少数情况下,对于同一任务,Python 2明显比Python 3快。



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

  • 在WordCount.java文件中编写代码。您的代码应该进入具有以下签名的方法。您可以编写自己的主要方法来测试代码。评分员会忽略你的主要方法: 你的方法应该计算句子中满足或超过minLength的单词数(以字母为单位)。例如,如果给定的最小长度是4,那么您的程序应该只计算至少有4个字母长的单词。 单词之间会用一个或多个空格隔开。非字母字符(空格、标点符号、数字等)可能存在,但不应计入单词长度。

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

  • 本文向大家介绍找到字符串中最长的单词,并返回它的长度相关面试题,主要包含被问及找到字符串中最长的单词,并返回它的长度时的应答技巧和注意事项,需要的朋友参考一下 function findLongestWord(str){ // let arr=str.split(" "); let arr=str.replace(/[,|.|;]/," ").split(" "); let longLength=

  • 问题内容: 我正在做一个从列表中返回最长字符串值的函数。当只有一个包含最多字符的字符串时,我的代码有效。如果有多个字符串,我尝试使其打印所有最长的字符串,并且我不希望重复它们。当我运行它时,它只返回“ hello”,而我希望它也返回“ ohman”和“ yoloo”。我觉得问题就在眼前,但是我已经尝试了所有方法,但是没有用。 问题答案: 首先 ,我们可以在列表中找到任何字符串的最大长度: 一点解释

  • 这里,在这段代码中,它打印序列的最大子序列的长度,该序列先增加后减少,或者反之亦然。 例如: 输入:1,11,2,10,4,5,2,1 如增-减-增或减-增-减 示例: 投入:7 16 1 6 20 17 7 18 25 1 25 21 11 5 29 11 3 3 26 19