4
我有两个不同长度的列表。python中匹配两个列表
list1=['T','P','M','M','A','R','k','M','G','C']
list2=['T','P','M','M','A','R','k','S','G','C','N']
通过比较list1
和list2
:结果必须是:
new_list1=['T','P','M','M','A','R','k','mis','M', 'G','C','mis']
new_list2=['T','P','M','M','A','R','k','S', 'mis','G','C','N']
的方法是通过匹配两个列表中的元素与重复。如果在同一位置存在不匹配的元素。例如在list1
中有三份M
,在list2
中有两份。结果必须指在此位置丢失list2
的M
。 list1
中缺少字符S
,结果也必须指定为缺失。
任何人都可以帮助我吗?
请告诉我们,试图做到这一点,并解释它是如何工作不适合你,你所编写的代码 – scytale
请至少提供一个确切的描述您需要处理和去往的不匹配类型。这个问题的一般情况是[NP-complete](https://en.wikipedia.org/wiki/Closest_string)。如果您可以将其减少到*编辑距离*,请从[Hirschberg算法](https://en.wikipedia.org/wiki/Hirschberg's_algorithm)开始。 – dhke
你必须定义哪个列表是主要的。猜猜你需要从输入中得到什么list1 = ['a','b'] list2 = ['b','a'] – knagaev