如何在列表中不插入相同的值组合?

A.M*_*ine 1 python python-3.x

我目前有一个包含不同概率的6x3矩阵.

在这种情况下,我的行有3个值,对应于我的样本最终属于某个类的概率.

我想要做的是为我的6个样本获得3个不同类别中的每一个.我担心我最终可能会重复一遍.

我注意到每个元素都lista包含6个值.有没有一种简单的方法可以摆脱可能的重复?

for combination in itertools.product(*probability):
    q1 = np.prod((combination))
    lista.append(q1)
    print(combination)
    i = i+1
print(i)
print(np.sum(lista))
Run Code Online (Sandbox Code Playgroud)

提前致谢!

Nor*_*dle 5

使用set(lista)将删除任何重复的值

例:

lista = [1,2,3,4,1,2]
new_list = set(lista)
print(new_list)
Run Code Online (Sandbox Code Playgroud)

输出:

{1, 2, 3, 4}
Run Code Online (Sandbox Code Playgroud)

编辑:根据您的评论,使用itertoolsgroupby()删除列表中的重复列表;

import itertools

lista = [[1,2,3], [1,2,3], [3,4,5]]
new_list = list(k for k,_ in itertools.groupby(lista))
print(new_list)
Run Code Online (Sandbox Code Playgroud)

输出:

[[1, 2, 3], [3, 4, 5]]
Run Code Online (Sandbox Code Playgroud)