【问题标题】:Extract elements from a list with repeated elements从具有重复元素的列表中提取元素
【发布时间】:2021-10-28 19:12:20
【问题描述】:

如何获取列表的子集,以使特定长度的组合仅出现一次。

例如。 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],...

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

【问题讨论】:

  • 我只是想确认如果我将 1 添加到 a = [1, 1, 2, 3, 4, 4, 5, 5, 1] 上,预期的答案是相同的。
  • 您好,完全不知道想要的结果是什么。可以提供更多细节吗?

标签: python-3.x list set combinations


【解决方案1】:

你提供的信息很少,但这是我理解的一个镜头

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]]]

【讨论】:

  • 感谢您的回复。我实际上是在考虑使用组合来获得这种结构,但是我不需要的值太多了。这绝对是有道理的,符合我的要求。
猜你喜欢
  • 2018-08-30
  • 1970-01-01
  • 2012-09-21
  • 1970-01-01
  • 2018-02-07
  • 2014-02-17
  • 2022-07-09
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多