如何在Python中找到列表中最短的字符串

2024-04-27 05:22:43 发布

您现在位置:Python中文网/ 问答频道 /正文

这似乎是一个很简单的问题,但我正在寻找一个简短和甜蜜的方式来做它仍然可以理解(这不是代码高尔夫)。

给定一个字符串列表,找到最短字符串的最简单方法是什么?

对我来说最明显的方式大概是:

l = [...some strings...]
lens = map(l, len)
minlen, minind = min(lens)
shortest = l[minind]

但这似乎是解决这个问题的很多代码(至少在python中是这样)。


Tags: 方法字符串代码map列表len方式some
3条回答

The ^{} function有一个可选参数key,允许您指定一个函数来确定每个项的“排序值”。我们只需要将其设置为the ^{} function即可获得最短的值:

strings = ["some", "example", "words", "that", "i", "am", "fond", "of"]

print min(strings, key=len) # prints "i"

我会用sorted(l, key=len)[0]

需要线性时间:

   reduce(lambda x, y: x if len(x) < len(y) else y, l)

相关问题 更多 >