2016-09-06 67 views
0

我有一個包含三個單詞的原始列表:'hello','hi'和'Good day'。 我想創建一個包含具有最短長度的項目的new_list。我如何編寫該代碼?我使用Python 2.7。從python列表中獲取最短長度的listitem

original_list=['hello','hi','Good day'] 

Word  Length 
'Hello'  5 
'Hi'   2 
'Good day' 8 

預期輸出(因爲我只要具有最短長度的項):

new_list=['Hi'] 
+0

如果在列表中有多個項目的最短長度如何:'['hello','hi','Good day','me']' - 輸出應該是什麼? – alecxe

+0

作爲副本關閉 - 重複線程有多個不同的問題解決方案。如果單個最短的項目足夠好,那麼您可以使用已發佈的答案。謝謝。 – alecxe

+0

公平點。在我的情況下,永遠不會有兩個長度相同的單詞。你的答案解決了這個問題。謝謝 –

回答

2

min()需要key函數作爲參數,使用len作爲key功能:

>>> original_list = ['hello','hi','Good day'] 
>>> new_list = [min(original_list, key=len)] 
>>> new_list 
['hi'] 

這雖然不處理具有相同最短長度的多個項目 - 例如['hello','hi','Good day', 'me']輸入列表。

相關問題