python - 列表中最长单词的长度

标签 python string performance list coding-style

获取最长单词的长度的更 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/

相关文章:

python - Pyqt5 qthread + 信号不工作 + gui 卡住

performance - 为什么 jmeter 生成其他请求并为它们输入一个数字

python - 如何拆分列并将它们合并为行?

python - 跟踪日志文件

Oracle linux 上的 Python 3.6.3 安装问题

java - 字符串的哈希码

java - Web 服务中字符串参数的最大大小是多少?

ios - Swift 2.0 iOS 旋转文本保持字符垂直

mysql - 如何提高 limit 的性能?,1 时?是一个巨大的数字

performance - 在 Delphi FireDAC 中加载数组 DML 的最快方法