2012-03-30 78 views
0

我得到列表的列表,并不知道如何过滤出重复(到一个新的列表)。创建新列表与列表中的副本列表 - python

我试图提取路径列表成功地过滤掉重复的,

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

是否输出不管订单! ? – 2012-03-30 15:51:53

+0

订单无关紧要 – 2012-03-30 15:54:34

+0

是否可以有多个“路径”出现多次?如果是的话,包含所有这些路径的结果列表? – 2012-03-30 15:58:00

回答

-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] 

编辑:这应该更好地工作

+0

这不会产生所需的输出! – hymloth 2012-03-30 15:55:39

+0

@hymloth感谢您指出了这一点!我重读了这个问题,并编辑了我的回应:) – Andbdrew 2012-03-30 16:04:34

+0

@hymloth再次编辑一个更好的双线解决方案,非问题:) – Andbdrew 2012-03-30 16:08:36