如何检查元素是否包含超过3个字符

时间:2019-12-24 20:02:09

标签: python

你好,我有几个字符串,例如:

>>> for leaf in tree:
...     print(leaf)
... 

--AZ_09099898

--AJIJIUIUZ

--AP_008988

--AP_009008.1_OP_OK-le

--scOK_4174_1944-3504_+__OK_fOK

--sc1_6698-9667_-__Lina_ces

--Iffold_1712_13782-16775_-__Le_a

,我想只在列表中添加> 3“ _”

的元素

所以我应该得到

list=["scOK_4174_1944-3504_+__OK_fOK","sc1_6698-9667_-__Lina_ces","Iffold_1712_13782-16775_-__Le_a"]

我尝试了以下方法:

if > 3 '_' in leaf:

1 个答案:

答案 0 :(得分:3)

使用str.count

for leaf in tree:
    if leaf.count('_') > 3:
        print(leaf)

或者如果您想将其用于不仅仅是打印到控制台上的话,或者以列表理解的方式扔它(或使用filter)。

filtered_tree = [leaf for leaf in tree if leaf.count('_') > 3]
# or
filtered_tree = filter(lambda leaf: leaf.count('_') > 3, tree)