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