繁体   English   中英

如何提取嵌套列表中包含的字符串?

[英]How to extract a string contained in nested list?

请帮我提取包含特定文本的字符串。 我尝试过以下方法:

lst = [['abc', 'abgoodhj', 'rygbadkk'], ['jhjbadnm'], ['hjhj', 'iioytu'], ['hjjh', 'ghjgood1hj', 'jjkkbadgghhj', 'hjhgkll']]

for lst1 in lst:
    good_wrd = [txt for txt in lst1 if txt.contains('good')]
    bad_wrd = [txt for txt in lst1 if txt.contains('bad')]

我想要包含goodbad的单词。

使用列表推导来创建一个新列表。

good_wrd = [
    word
    for sub_lst in lst
    for word in sub_lst
    if "good" in word
]
bad_wrd = [
    word
    for sub_lst in lst
    for word in sub_lst
    if "bad" in word
]

或者使用 for 循环:

good_wrd = []
bad_wrd = []

for sub_lst in lst:
    for word in sub_lst:
        if "bad" in word:
            bad_wrd.append(word)
        elif "good" in word:
            good_wrd.append(word)

这会起作用:

lst = [['abc', 'abgoodhj', 'rygbadkk'], ['jhjbadnm'], ['hjhj', 'iioytu'], ['hjjh', 'ghjgood1hj', 'jjkkbadgghhj', 'hjhgkll']]

good_wrd = []
bad_wrd = []
for lst1 in lst:
    good_wrd.extend([txt for txt in lst1 if 'good' in txt])
    bad_wrd.extend([txt for txt in lst1 if 'bad' in txt])

print(good_wrd)
print(bad_wrd)
target1 = 'good'
target2 = 'bad'
goods = []
bads = []
for lis in lst:
    for txt in lis:
        if target1 in txt:
            goods.append(txt)
        elif target2 in txt:
            bads.append(txt)

暂无
暂无

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

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