This question already has answers here:
Length of longest word in a list
(6个答案)
5年前关闭。
嗨,我正在尝试制作一个python程序,该程序将返回列表中最长单词的长度,但对我来说效果不佳。
这是代码:
当您执行此操作时,它会像应打印的那样打印
但是,如果使用
编辑:
尽管上述解决方案可以正常工作,但我想提供一个更短的解决方案:
此解决方案使用
(6个答案)
5年前关闭。
嗨,我正在尝试制作一个python程序,该程序将返回列表中最长单词的长度,但对我来说效果不佳。
这是代码:
def find_longest_word():
list1 = ['a','aa','aaa','aaaa','aaaaa','aaaaaa','aaaaaaa','aaaaaaaa',]
max1 = ''
for x in range (0, len(list1)):
if (len(max1) < len(list1[x]) ):
max1 = list1[x]
return max1
def main():
m = find_longest_word()
print len(m)
最佳答案
实际上,您的问题非常简单:您忘记在脚本结尾处调用main
函数:
main()
当您执行此操作时,它会像应打印的那样打印
8
。但是,如果使用
max
及其key function,则可以轻松完成此任务:>>> list1 = ['a','aa','aaa','aaaa','aaaaa','aaaaaa','aaaaaaa','aaaaaaaa',]
>>> max(list1, key=len)
'aaaaaaaa'
>>> len(max(list1, key=len))
8
>>>
编辑:
尽管上述解决方案可以正常工作,但我想提供一个更短的解决方案:
>>> list1 = ['a','aa','aaa','aaaa','aaaaa','aaaaaa','aaaaaaa','aaaaaaaa',]
>>> max(map(len, list1))
8
>>>
此解决方案使用
map
代替键功能。10-06 00:26