2016-09-06 29 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']输入列表。

相关问题