2016-04-30 40 views
-2

我有同樣大小的字符串的以下兩個列表:找到位置,兩個列表的成員不同

l1 = ['foo', 'foo','bar','cho'] 
l2 = ['foo', 'qux','bar','cxx'] 
       *   * 

我想要做的就是尋找到成員的不同產生的位置, :

1, 3 

我們該怎麼做?

+6

那你試試這麼遠嗎? –

回答

1

您可以使用列表理解:

>>> [i for i, v1 in enumerate(l1) if v1 != l2[i]] 
[1, 3] 

這將遍歷第一個列表,和值與第二列表進行比較,並櫃面他們不匹配,增加了指數的結果。

1

當在同樣大小的2所列出迭代,使用zip

diff = [i for i, (x, y) in enumerate(zip(l1, l2)) if x != y]