打印仅包含2个字符串的元素

2024-09-28 05:28:53 发布

您现在位置:Python中文网/ 问答频道 /正文

我有这个清单

lst = [' SOME TEXT\nSOME TEXT\nFTY = 1', 'A|1\nB|5\nC|3\n \nD|0\nE|0', 'D|4\nE|1\nG|1', '\nblah blah', '\n---    HHGTY', 
    'SOME TEXT\nFTY = 1\nA|3\nB|2\nC|8\nD|6\nE|9\nF|3', '', 'blah blah\n \nblah blah', 
    '---    HHGTY'
    ]

我只想打印包含|HHGTY的元素。我正在使用下面的代码,但正在打印 SOME TEXTFTY = 1也是。怎么了?谢谢

>>> for s in lst:
...     if ("|" in s) or ("HHGTY" in s):
...             print(s)
...
A|1
B|5
C|3

D|0
E|0
D|4
E|1
G|1

---    HHGTY
SOME TEXT
FTY = 1
A|3
B|2
C|8
D|6
E|9
F|3
---    HHGTY
>>>

Tags: textinsomengblahnencnb
3条回答

因为在'SOME TEXT\nFTY = 1\nA|3\nB|2\nC|8\nD|6\nE|9\nF|3'元素中'|'存在

我想你想要的是:

for s in lst:
    for subs in s.split('\n'):
        if ("|" in subs) or ("HHGTY" in subs):
            print(subs)

您的代码做的一切都是正确的: SOME TEXTFTY = 1SOME TEXT \ nFTY = 1 \ nA | 3 \ nB | 2 \ nC | 8 \ nD | 6 \ nE | 9 \ nF | 3的一部分

相关问题 更多 >

    热门问题