Как убрать дубликаты значений в матрице? - PullRequest
3 голосов
/ 25 февраля 2020

Как удалить дубликаты значений в матрице?

mat = [[5,6,8] , [8,5,3] , [9,10,3]]
res= []
for i in mat:
    if i not in res:
        res.append(i)
        print(res)
        fit= set(res)
        print(fit)

Ответы [ 2 ]

3 голосов
/ 25 февраля 2020
mat = [[5,6,8] , [8,5,3] , [9,10,3]]
res=[]
for i in mat:
    res+=i
duplicated= set([i for i in res if res.count(i)>1])
new=[]
for i in mat:
    new_in=[]
    for j,val in enumerate(i):
        if val not in duplicated:
            new_in.append(val)
    new.append(new_in)
print(new)

Если вы ожидаете, что ваш вывод, как [[6], [], [9, 10]]

2 голосов
/ 25 февраля 2020

Если вы ожидаете, что ваш вывод будет {3, 5, 6, 8, 9, 10} , он удалит повторяющиеся значения, а затем простой код ниже, который вы можете использовать

mat = [[5,6,8] , [8,5,3] , [9,10,3]]
res= set()
for i in mat:
  res.update(i)
print(res)
...