Skip to main content
 首页 » 编程设计

python之给定字符串中的一组字母如何在python中获取字符串中的剩余字母

2025年05月04日18think

我有一个像'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