List 嵌套列表删除重复列表

List 嵌套列表删除重复列表,list,python-2.7,List,Python 2.7,在连续的嵌套列表(如下面的列表)中, 我想删除第一个和第三个值相等的重复条目。最有效的方法是什么 [[a, 1, a], [b, 1, b], [c, 2, d],[e, 4,g] 返回 [[c, 2, d],[e, 4,g]] 您要做的是遍历每个子列表,并遍历该子列表中的每个项目。I该子列表中存在重复项,请将标志设置为True并忽略它,如果没有,则将该列表附加到新列表中 lists = [['a', 1, 'a'], ['b', 1, 'b'], ['c', 2, 'd'],['e',

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

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

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

您要做的是遍历每个子列表,并遍历该子列表中的每个项目。I该子列表中存在重复项,请将标志设置为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

这看起来会错误地删除某些值。例如,
['e','e','g']
将被删除,即使其第一项不等于第三项。更清楚地说,您希望返回所有与
[x,y,x]
不同的子列表。对吗?
>>> 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']]