【发布时间】:2013-01-16 06:10:57
【问题描述】:
获取最长单词长度的更pythonic的方法是什么:
len(max(words, key=len))
或者:
max(len(w) for w in words)
或者.. 别的什么? words 是一个字符串列表。
我发现我需要经常这样做,并且在使用几个不同的样本大小进行计时后,第一种方法似乎始终更快,尽管在表面价值上似乎效率较低(len 的冗余被调用两次似乎无关紧要 - 确实以这种形式在 C 代码中发生的更多?)。
【问题讨论】:
-
@isedev 会给出单词,而不是单词的长度
-
我个人更喜欢后者,看起来更漂亮
-
len(max(words, key=len))很好,因为它可以作为 哦,我忘了max将密钥作为参数。 提醒湿器。 -
一般而言,python 与英语配合得很好,所以如果你能读懂它并且很清楚,那么你可能很好。 1. len max 个单词,或 2. max len 个单词。
-
@monkut:但第一个更像是“len max of words by len”。
标签: python string performance list coding-style