嵌套列表删除重复列表

时间:2015-04-09 17:18:27

标签: list python-2.7

在连续的嵌套列表(如下所示)中, 我想删除重复的条目,其中第一个和第三个是相等的值。这样做最有效的方法是什么?

 [[a, 1, a], [b, 1, b], [c, 2, d],[e, 4,g]

返回

 [[c, 2, d],[e, 4,g]]

2 个答案:

答案 0 :(得分:2)

>>> seq = [['a', 1, 'a'], ['b', 1, 'b'], ['c', 2, 'd'],['e', 4, 'g']]
>>> seq = [item for item in seq if item[0] != item[2]]
>>> print seq
[['c', 2, 'd'], ['e', 4, 'g']]

答案 1 :(得分:1)

您要做的是浏览每个子列表,并浏览该子列表中的每个项目。我在该子列表中有一个重复的项目将标志设置为True并忽略它,如果没有,则将该列表附加到新列表。

lists = [['a', 1, 'a'], ['b', 1, 'b'], ['c', 2, 'd'],['e', 4,'g']]
newLists = []
for l in lists:
    if l[0] != l[len(l) - 1]:
        newLists.append(l)

print newLists