在连续的嵌套列表(如下所示)中, 我想删除重复的条目,其中第一个和第三个是相等的值。这样做最有效的方法是什么?
[[a, 1, a], [b, 1, b], [c, 2, d],[e, 4,g]
返回
[[c, 2, d],[e, 4,g]]
答案 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