当前位置: 首页 > 面试题库 >

无需重复的Python组合

华炜
2023-03-14
问题内容

我有一个数字列表,我想从中进行组合。如果我有清单:

t = [2,2,2,2,4]
c = list(itertools.combinations(t, 4))

结果是:

(2, 2, 2, 2)
(2, 2, 2, 4)
(2, 2, 2, 4)
(2, 2, 2, 4)
(2, 2, 2, 4)

但我想得到:

(2, 2, 2, 2)
(2, 2, 2, 4)

除了制作新列表和遍历第一个列表之外,是否可以消除重复项?


问题答案:

正如Donkey Kong指出的那样,您可以通过将列表转换为集合来获得列表中的唯一值:

t = [2,2,2,2,4]
c = list(itertools.combinations(t, 4))
unq = set(c)
print(unq)

结果将是:

{(2, 2, 2, 4), (2, 2, 2, 2)}

如果要将其用作列表,可以通过执行以下操作将其转换回:

result = list(unq)

另一种更清洁,更全面的方式将是:

t = [2,2,2,2,4]
c = set(itertools.combinations(t, 4))


 类似资料:
  • 问题内容: 我想从一个组合 应该给出以下结果: 是否可以在不使用自定义功能的情况下编写仅查询解决方案? 问题答案:

  • 问题内容: 印刷品: 如何: 避免在单个句子中重复使用相同的名称(印度和印度) 仅产生一种组合(印度和澳大利亚或澳大利亚和印度) http://pythonfiddle.com/product-without-matching- duplicates 问题答案: 你应该使用这样的 但是对于这种简单的情况,您可以运行两个循环,如下所示

  • 问题内容: 我从一维数组生成有效的成对组合之后。如果n> 1000,Itertools效率太低 最近的事情在这里。 问题答案: 一种方法是获取内存,从而提高性能- 另一个基于NumPy的控件将用于获取网格视图,然后进行遮罩- 二。三联体组合 我们将扩展相同的方法,以使自己成为三元组合- 高阶组合将同样扩展。 样品运行- 时间(包括Python的内置- )-

  • 以下是python中的一个数组: 我想找到每个元素的外观数量。我尝试使用,然后使用。但是,输出的不允许使用函数。

  • 问题内容: 该代码从一组预设颜色中选择一种随机颜色。如何使同一颜色不会被多次拾取? 问题答案: 创建一个索引数组。从数组中删除索引之一,然后使用它来获取颜色。 像这样: 上面的代码创建一个数组。该函数看是否为空。如果是,则使用0到的索引值填充它。 然后,它在数组中选择一个随机索引,从数组中的该索引处删除值,然后使用它从中获取并返回一个对象。(它不会从中删除对象。它使用间接操作,并从indexsAr

  • 问题内容: 我是Python的初学者。我有多个CSV文件(超过10个),并且它们的列数均相同。我想将所有这些文件合并到一个CSV文件中,在该文件中不再重复标题。 因此,从本质上讲,我只需要具有所有标题的第一行,然后就需要合并所有CSV文件中的所有行。我该怎么做呢? 到目前为止,这是我尝试过的。 问题答案: 虽然我认为最好的答案是来自@valentin的答案,但您可以完全不用模块就可以做到这一点:

  • 我需要将*ngFor循环绑定到div,但我也需要仅在满足*ngIF条件后显示它。 但是Angular 4不会让你把它们结合起来。 我的代码: 我得到以下错误: 不能在一个元素上有多个模板绑定。只使用一个名为“模板”或以*为前缀的属性 那么你如何着手去做呢?

  • 问题内容: 我似乎尽管有很多在线算法和函数可以从唯一项目列表中生成任意大小的唯一组合,但对于一系列非唯一项目(即包含重复项的列表),则没有可用的算法和函数。具有相同的价值。) 问题是如何在生成器函数中即时生成非唯一列表中的所有唯一组合,而又无需计算出昂贵的过滤出重复项的方法? 现在,由于有一个针对这个问题的奖励动机,因此更容易提供关于我期望实现的目标的清晰性: 首先,让我们提供说明如何检查组合co