原諒我,如果這是一個愚蠢的問題,我已經做了我最好的,但沒有成功看這件事,我絕不是一個Python的專家。Diff'ing混合名單
我寫了一些東西,以「差異」兩個列表:基本上,比較2所列出並填充的共同價值觀第三列表,而從原來的兩個列表中刪除它們。所以我寫了這一點:
list_1 = ["dog", "cat", "bird", "rabbit", "rabbit"]
list_2 = ["fly", "monkey", "bird", "rabbit", "bear", "rabbit"]
matches = []
for thing in list_1:
while thing in list_2:
list_1.pop(list_1.index(thing))
popper = list_2.pop(list_2.index(thing))
matches.append(popper)
這讓我:
list_1:
['dog', 'cat']
list_2:
['fly', 'monkey', 'bear']
Matches:
['bird', 'rabbit', 'rabbit']
這就是我所期待什麼/想......「兔子」顯示了兩次,因爲它是在兩個列表兩次。
但隨後使用相同的for循環,這樣的:
list_1 = ["dog", "cat", ["bird", "rabbit"], "rabbit"]
list_2 = ["fly", "monkey", ["bird", "rabbit"], "bear", "rabbit"]
打動了我:
list_1:
['dog', 'cat', 'rabbit']
list_2:
['fly', 'monkey', 'bear', 'rabbit']
Matches:
[['bird', 'rabbit']]
第二個「兔子」是不是被添加到該在比賽列表,它仍然在原件。這裏發生了什麼,我沒有得到?
謝謝,我還沒有收到有關套在Python的想法。這是一個巨大的幫助! – learningKnight 2012-02-01 00:40:13