我有一个像'LETTER'这样的字符串,现在我有另一个字符串“LTR”,当这个字符串与前一个字符串进行检查时,剩下的字母是“ETE”我如何从python的主字符串中提取它。字母的顺序无关紧要,我们应该得到剩余的字母
请您参考如下方法:
使用来自 difflib 的 ndiff()图书馆:
>>> from difflib import *
>>> list(ndiff("LETTER","LTR"))
[' L', '- E', ' T', '- T', '- E', ' R']
#so filter out letters which doesn't have '-'
>>> ''.join(x.strip('-').strip() for x in filter(lambda x:'-' in x,ndiff("LETTER","LTR")))
'ETE'
>>> ''.join(x.strip('-').strip() for x in filter(lambda x:'-' in x,ndiff("stack","tc")))
'sak'
如果字母顺序无关紧要,您可以使用 Counter():
>>> from collections import Counter
>>> str1="LETTER"
>>> str2="LTR"
>>> c=Counter(str1)-Counter(str2)
>>> c
Counter({'E': 2, 'T': 1})
>>> ''.join(x*c[x] for x in c)
'EET
