使用
set
若要消除子列表中的重复项,请检查子列表项是否存在于
res
如果不将这些值附加到
tmp
列出,然后将该列表附加到
物件
res = []
lst = [set(i) for i in lst]
for i in lst:
tmp = []
for j in i:
if not any(j in i for i in res):
tmp.append(j)
if tmp:
res.append(sorted(tmp))
print(res)
# [[125.25, 128, 129], [124.25, 127, 130, 131], [124, 125, 126]]
yourlist = [
[125.25,129,128,129],
[124.25,127,130,131],
[126,126,125,124],
[126,124,130,124]
]
def seen(element, _cache=set()):
result = element in _cache
_cache.add(element)
return result
filtered = ([x for x in sublist if not seen(x)] for sublist in yourlist)
filtered = [sublist for sublist in filtered if sublist] # filter out empty lists
arrs = [
[125.25,129,128,129],
[124.25,127,130,131],
[126,126,125,124],
[126,124,130,124]
]
alreadyExisting = []
removedDuplicatesArr = []
for arr in arrs:
newArr = []
for i in arr:
if i not in alreadyExisting:
alreadyExisting.append(i)
newArr.append(i)
if newArr:
removedDuplicatesArr.append(newArr)
print(removedDuplicatesArr)