我試圖在非空列表中找到最長的單詞。我的功能應該返回最長的單詞。如果元素在列表中長度相等,我試圖在Unicode排序方面排序最長。例如,我試圖返回如下:在列表中找到最長的單詞python
>>> highest_word(['a', 'cat', 'sat'])
'sat'
>>> highest_word(['saturation', 'of', 'colour'])
'saturation'
>>> highest_word(['samIam'])
'samIam'
到目前爲止,我可以得到的第一個工作,這是我到目前爲止的代碼:
def highest_word(wordlist):
longestWord = ""
max_len = 0
for word in wordlist:
if len(word) > max_len:
longestWord = len(word)
longestWord = word
return longestWord
任何形式的幫助將是很大的讚賞。
是的,我已經嘗試此。它似乎不適用於第一個。它返回'貓'而不是'坐'。它似乎只適用於只有一個長詞的列表,比如第二個,它會返回「飽和」狀態。 – RoadRunner
謝謝你們,我很欣賞幫助。他們是一種將兩個答案標記爲正確的方法嗎? – RoadRunner
不,但我強烈建議您使用此解決方案。詹姆斯的答案是可行的,但它需要的時間與列表平方的長度成正比(O(N^2))。 'max(map(len,a))'遍歷整個列表,並且爲列表的每個元素計算。 BAH的答案需要時間來確定列表的長度(O(N))。 –