2014-01-10 28 views
0

我要去找到字符串中最长的单词,所以当我写的东西,如:Python字符串不改变,追加到数组

longestWord = {'value': '', 'len': 0} 
for word in words: 
    if len(word) > longestWord['len']: 
     longestWord['value'] = word 
     longestWord['len'] = len(longestWord['value']) 

sys.stdout.write(longestWord['value']) 

它实际上并没有改变的价值,但它附加以最长词作为列表。如何更改字符串而不是追加?

+2

我没有看到任何错误..是你的整个代码?这个程序的实际输出是什么? – aIKid

+1

请发布一个简短的(你完成的)和完整的(你没有的)程序来展示你正在描述的问题,这样任何想帮助你的人都有一些实际执行的代码去查看,执行,调试等 –

+0

是的,这是一个输入分隔符的问题,谢谢 – BlackenedSun

回答

3

我看不出有什么毛病你有什么,但它可以简化为一行:

print(max(words, key=len)) 

如果你想保住你的字典结构,那么:

longest = max(words, key=len) 
longestWord = {'value': longest, 'len': len(longest)} 
+0

感谢这种简短的方法,我是初学Python,并没有尝试内置算法呢。 – BlackenedSun