首页  >  文章  >  后端开发  >  如何根据子字符串过滤列表中的字符串?

如何根据子字符串过滤列表中的字符串?

Susan Sarandon
Susan Sarandon原创
2024-10-20 06:13:29352浏览

How to Filter Strings in a List Based on Substrings?

根据子字符串过滤列表中的字符串

给定一个字符串列表,我们如何过滤它以仅包含那些包含特定子串?例如,如果我们有列表 ['a', 'ab', 'abc', 'bac'],我们想要获取列表 ['ab', 'abc']。

使用列表推导式的解决方案

一种有效的方法涉及使用 Python 的列表推导式:

<code class="python">lst = ['a', 'ab', 'abc', 'bac']
result = [k for k in lst if 'ab' in k]</code>

列表推导式迭代 lst 中的每个字符串 k 并检查子字符串 'ab ' 存在于其中。如果为 true,则将 k 添加到结果列表中。

使用过滤器的替代方法

或者,我们可以使用过滤器函数来获得相同的结果:

<code class="python">lst = ['a', 'ab', 'abc', 'bac']
result = list(filter(lambda k: 'ab' in k, lst))</code>

这里,过滤器函数采用 lambda 函数来检查每个字符串中是否存在“ab”。然后使用列表将生成的迭代器转换为列表。

结论

列表推导式和过滤器函数都提供了根据特定条件过滤字符串列表的有效方法内容。两种方法的选择取决于个人喜好和代码可读性。

以上是如何根据子字符串过滤列表中的字符串?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn