2012-03-30 7 views
0

リストのリストを取得しましたが、重複を(新しいリストに)フィルタリングする方法がわかりません。一覧にリストの重複を含む新しいリストを作成する - python

Iは、パスリストを抽出しようとした正常重複を除外、

dup_pathlist = pathA, pathA, pathC, pathC 

私はノードとdupl_pathlistアイテム間の元の接続を回復することができませんでした。 :(私はこれで始まる

node_path_list = [['node1', 'pathA'], ['node2', 'pathA'], ['node3', 'pathB'], ['node4', 'pathC'], ['node5', 'pathC']] 

ここで終わりにしたい:

result = [['node1', 'pathA'], ['node2', 'pathA'],['node4', 'pathC'], ['node5', 'pathC']] 
+0

は、問題の出力の順序をい? –

+0

順序は問題ありません。 –

+0

2回以上出現する複数の「パス」が存在することはありますか? esultingリストにはこれらのパスがすべて含まれていますか? –

答えて

-1
list1 = [ ['node1', 'pathA'], ['node2', 'pathA'], ['node3', 'pathB'], ['node4', 'pathC'], ['node5', 'pathA'] ] 
result = [x for x in list1 if [y[1] for y in list1].count(x[1]) > 1] 

EDIT:!これは、より良い動作するはず

+0

これは望ましい出力をもたらしません! – hymloth

+0

@hymlothそれを指摘してくれてありがとう!私は質問を再読し、私の応答を編集しました:) – Andbdrew

+0

@hymlothは、問題ではないより良い2行の解決方法をもう一度編集しました:) – Andbdrew