给定字符列表[A,B,C,D,A,E,F,B,C,G,D]
分离最长的模式[A,B,C,D]
并按正确顺序返回字符[E,F,G]
的方法是什么?
另一示例[A,B,E,C,D,A,F,B,C,J,C,D]
将提取最长重复模式[A,B,C,D]
并且还返回[E,F,C,J]
解决方案将采用Python。
似乎您只想删除另一个列表中存在的列表元素
>>> lst = ['A', 'B', 'C', 'D', 'A', 'E', 'F', 'B', 'C', 'G', 'D']
>>> ptrn = set(['A', 'B', 'C', 'D'])
>>> [e for e in lst if e not in ptrn]
['E', 'F', 'G']