首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在Python中查找列表中的最短字符串

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

Stack Overflow用户
提问于 2011-08-29 18:30:11
回答 7查看 57.7K关注 0票数 49

这似乎是一个非常简单的问题,但我正在寻找一种简短而又甜蜜的方法,而且仍然可以理解(这不是编程高尔夫)。

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

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

代码语言:javascript
复制
l = [...some strings...]
lens = map(l, len)
minlen, minind = min(lens)
shortest = l[minind]

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

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2011-08-29 18:33:33

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

代码语言:javascript
复制
strings = ["some", "example", "words", "that", "i", "am", "fond", "of"]

print min(strings, key=len) # prints "i"
票数 142
EN

Stack Overflow用户

发布于 2011-08-29 18:35:32

耗费线性时间:

代码语言:javascript
复制
   reduce(lambda x, y: x if len(x) < len(y) else y, l)
票数 2
EN

Stack Overflow用户

发布于 2011-08-29 18:34:30

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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7228924

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档