I have a list like that:
lst = ['something', 'foo1', 'bar1', 'blabla', 'foo2']
使用正则表达式和 lst.index()
,是否可能获取第一个以“foo”(foo1)开头的项目的索引呢?
ind = lst.index("some_regex_for_the_item_starting_with_foo") ?
我知道可以创建一个计数器和一个for循环,然后使用方法startswith()
。不过我想知道是否有更短更优美的方式。
key
是有用的吗?例如,使用operator.itemgetter
。我也很好奇,谁认为lambda
是可恶的。当然,它可能确实不够优雅,但我认为它是语言中的一个重要部分,特别是当你有一个内置函数不能完全满足你的需求时。 - senderlekey
在其他情况下可能很有用,但在许多常见情况下,使用一个小的匿名闭包就足够了。至于为什么lambda
这么受人憎恶,我最近才发现(在EuroPython上),我问为什么在一个应该使用lambda
的例子中使用了function.Partial
,Alex Martelli回答说:“唯一合理的包含'lambda'和'should'两个词的短语是'lambda should be removed from Python'”。更详细的解释请参见https://dev59.com/b3A75IYBdhLWcg3wg5Zh。 - 6502