根据子字符串过滤列表中的字符串
给定一个字符串列表,我们如何过滤它以仅包含那些包含特定子串?例如,如果我们有列表 ['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中文网其他相关文章!