列表中最长单词的长度

发布于 2021-01-29 18:01:40

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

len(max(words, key=len))

要么:

max(len(w) for w in words)

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

关注者
0
被浏览
48
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

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

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

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

    最终,我认为更具可读性的是Python语言。

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



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看