从具有重复元素的列表中提取元素



如何获得一个列表的子集,使特定长度的组合只出现一次

例如。A =[1,1,2,3,4,4,5,5]

a我想得到类似的东西:

[(1,2),[1,3,4,4,5,5]],[(1,2,3),[1,4,4,5,5],...

我尝试使用组合,但大多数结果与问题无关。有人能帮忙吗?

你给的信息是稀缺的,但这里是我所理解的一个镜头

a=[1, 1, 2, 3, 4, 4, 5, 5]
result=[]
for i in range(1,7):
b=a.copy()
sub_tuple=[]
for j in range(1,i):
x=b.pop(b.index(j))
sub_tuple.append(x)
result.append([tuple(sub_tuple), b])
print(result[2:])
>>> [[(1, 2), [1, 3, 4, 4, 5, 5]], [(1, 2, 3), [1, 4, 4, 5, 5]], [(1, 2, 3, 4), [1, 4, 5, 5]], [(1, 2, 3, 4, 5), [1, 4, 5]]]

最新更新