简体   繁体   English

基于元素字符串的过滤列表

[英]Filter list based on elements string

I have a line of code which filters a list if it contains 'ab'如果列表包含'ab',我有一行代码过滤列表

>>> l = ['a', 'ab', 'abc', 'bac']
>>> [x for x in l if 'ab' in x]
['ab', 'abc']
>>>

I now want to say do this if it contains ab or zz, but the below code isn't working我现在想说如果它包含 ab 或 zz 就这样做,但是下面的代码不起作用

[x for x in l if '|'.join(['ab','zz']) in x]

You can try using a or :您可以尝试使用or

[x for x in l if 'ab' in x or 'zz' in x] 

>>> l = ['a', 'ab', 'abc', 'bac', 'zz', 'kkzz']
>>> [x for x in l if 'ab' in x or 'zz' in x]
>>> # ['ab', 'abc', 'zz', 'kkzz']

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM