这里我有一个dic的列表,在这里我想删除重复的,等于dic的第一个元素。 输入:
data = [
[
[{'color': '1'},{'color': '0'},{'color': '2'},{'color': '1'}],
[{'color': '2'},{'color': '3'},{'color': '2'},{'color': '5'}],
[{'color': '1'},{'color': '1'},{'color': '3'},{'color': '3'}]
],
[
[{'color': '1'},{'color': '1'},{'color': '4'},{'color': '4'}],
[{'color': '4'},{'color': '3'},{'color': '1'},{'color': '4'}],
[{'color': '7'},{'color': '1'},{'color': '7'},{'color': '1'}]
]
]
我已经试过了,得到了预期的效果,有没有什么方法可以达到同样的效果?你知道吗
代码:
new = [] ;
for i in data:
master = []
for j in i:
temp = []
for k in j:
if j[0]['color'] != k['color']:
temp.append(k)
temp.insert(0,j[0])
master.append(temp)
new.append(master)
print(new)
预期产量:
data = [
[
[{'color': '1'},{'color': '0'},{'color': '2'}],
[{'color': '2'},{'color': '3'},{'color': '5'}],
[{'color': '1'},{'color': '3'},{'color': '3'}]
],
[
[{'color': '1'},{'color': '4'},{'color': '4'}],
[{'color': '4'},{'color': '3'},{'color': '5'}],
[{'color': '7'},{'color': '1'},{'color': '1'}]
]
]
不需要所有临时列表:
基本上,它只是遍历每个子项,并将其替换为第一个项加上其他不具有相同值的项。你知道吗
虽然它很难看,但您甚至可以将它简化为一行(仅用于说明目的。。。我不推荐它,因为可读性):
相关问题 更多 >
编程相关推荐