2024-04-27 05:22:43 发布
网友
这似乎是一个很简单的问题,但我正在寻找一个简短和甜蜜的方式来做它仍然可以理解(这不是代码高尔夫)。
给定一个字符串列表,找到最短字符串的最简单方法是什么?
对我来说最明显的方式大概是:
l = [...some strings...] lens = map(l, len) minlen, minind = min(lens) shortest = l[minind]
但这似乎是解决这个问题的很多代码(至少在python中是这样)。
The ^{} function有一个可选参数key,允许您指定一个函数来确定每个项的“排序值”。我们只需要将其设置为the ^{} function即可获得最短的值:
key
strings = ["some", "example", "words", "that", "i", "am", "fond", "of"] print min(strings, key=len) # prints "i"
我会用sorted(l, key=len)[0]
sorted(l, key=len)[0]
需要线性时间:
reduce(lambda x, y: x if len(x) < len(y) else y, l)
The ^{} function 有一个可选参数} function 即可获得最短的值:
key
,允许您指定一个函数来确定每个项的“排序值”。我们只需要将其设置为the ^{我会用
sorted(l, key=len)[0]
需要线性时间:
相关问题 更多 >
编程相关推荐