我有两个列表,我只想处理其中不匹配的元素部分。
ListA = ['CAT.txt','CAT.txt.ext','DOG.txt','DOG.txt.ext','TIGER.txt.ext',TIGER.txt'] ListB = ['CAT_NEW. txt', 'CAT_NEW.txt.ext', 'TIGER_NEW.txt', 'TIGER_NEW.txt.ext']
列表 B 是列表 A 的子集,带有“_NEW”
我想要的输出: ListC = ['DOG.txt', 'DOG.txt.ext']
这是我问的另一个问题的解决方法:Python: Trying to check if file exists and if not create new files and final output list。检查了多个线程,但 .txt.ext 很难拆分...
想如果我拆分输入列表,我可以在不检查日志文件的情况下实现。
我检查了这个:Python: how to find the element in a list that match part of the element name
从 ListB 中删除字符串 '_NEW',并使用 set 操作:
In [1]: ListA = ['CAT.txt','CAT.txt.ext','DOG.txt','DOG.txt.ext','TIGER.txt.ext','TIGER.txt']
In [2]: ListB = ['CAT_NEW.txt','CAT_NEW.txt.ext', 'TIGER_NEW.txt', 'TIGER_NEW.txt.ext']
In [3]: lb= [ s.replace("_NEW","") for s in ListB ]
In [4]: lb
Out[4]: ['CAT.txt', 'CAT.txt.ext', 'TIGER.txt', 'TIGER.txt.ext']
In [5]: list(set(ListA)-set(lb))
Out[5]: ['DOG.txt', 'DOG.txt.ext']
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句