获取最长单词的长度的更 pythonic 方法是什么:
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))
可以使用内置函数优化键,因为 len
通常是一个非常有效的字符串操作,会更快......
关于python - 列表中最长单词的长度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14637696/