我有以下两个列表:
FB6123260
我正在使用以下代码来检查rm -rf ~/Library/Developer/Xcode/DerivedData
中是否确实有list_1 = ['ABC', 'DEF', 'EFG']
list_2 = ['TESTABC', 'TESTDWQ', 'TESTEFG', 'TEST123', 'TEST345']
中的内容:
list_1
现在它可以正常工作了,它可以告诉我它的发现:
list_2
但是它不能给我全部价值,我正试图将其输出:
check_list = set([item for item in list_1 for things in list_2 if item in things])
是否有一种获取索引的方法,甚至可以在发现某些内容时更好地将其打印出来?
答案 0 :(得分:1)
只需将item
替换为things
set([things for item in list_1 for things in list_2 if item in things])
将其减少到一个循环
import re
[i for i in list_2 if re.match("\w*("+'|'.join(list_1)+")$",i)]
答案 1 :(得分:0)
使用re
解决我的问题:
l1 = ['ABC', 'DEF', 'EFG']
l2 = '''TESTABC
TESTDWQ
TESTEFG
TEST123
TEST345'''
import re
s = re.findall('|'.join(f'(?:^.*{i}.*)' for i in l1), l2, flags=re.M)
print(s)
打印:
['TESTABC', 'TESTEFG']