2014-10-19 77 views
-1

我有一個列表如下。顯示在Python中有兩個公共元素的列表

temp=[[1,2,3],[0,2,3],[4,5,6],[1,4,5],[0,4,5]] 

我想顯示所有列表中有第二個和第三個元素是共同的。在日上面的例子中,結果應該是[[1,2,3],[0,2,3],[1,4,5],[0,4,5]]

謝謝

+2

到目前爲止你已經嘗試了什麼?你卡在哪裏? – Mephy 2014-10-19 01:51:38

回答

0

這個怎麼樣:

>>> ends = [i[1:] for i in temp] 
>>> print ends 
[[2, 3], [2, 3], [5, 6], [4, 5], [4, 5]] 

>>> result = [i for i in temp if ends.count(i[1:]) > 1] 
>>> print result 
[[1, 2, 3], [0, 2, 3], [1, 4, 5], [0, 4, 5]] 

對於這個解決方案,我用列表解析,你可以在這裏讀到過: http://www.secnetix.de/olli/Python/list_comprehensions.hawk

http://www.pythonforbeginners.com/basics/list-comprehensions-in-python

+0

如果您發現此解決方案解決了您的問題,請考慮接受它作爲答案(旁邊的勾號) – Totem 2014-10-20 02:12:12

0
res = [] 
for idx, i in enumerate(temp): 
    for jdx, j in enumerate(temp): 
     if i[1]==j[1] and i[2]==j[2] and jdx != idx: 
      res.append(i) 
相關問題