问题:根据内容过滤字符串列表
给定list ['a','ab','abc','bac']
,我想计算一个包含字符串的列表'ab'
。即结果是['ab','abc']
。如何在Python中完成?
回答 0
使用Python,可以通过多种方式实现这种简单的过滤。最好的方法是使用“列表推导”,如下所示:
>>> lst = ['a', 'ab', 'abc', 'bac']
>>> [k for k in lst if 'ab' in k]
['ab', 'abc']
另一种方法是使用该filter
功能。在Python 2中:
>>> filter(lambda k: 'ab' in k, lst)
['ab', 'abc']
在Python 3中,它返回一个迭代器而不是列表,但是您可以强制转换它:
>>> list(filter(lambda k: 'ab' in k, lst))
['ab', 'abc']
尽管使用理解是更好的做法。
回答 1
[x for x in L if 'ab' in x]
回答 2
# To support matches from the beginning, not any matches:
items = ['a', 'ab', 'abc', 'bac']
prefix = 'ab'
filter(lambda x: x.startswith(prefix), items)
回答 3
回答 4
mylist = ['a', 'ab', 'abc']
assert 'ab' in mylist
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。