查找列表元素的所有组合,包括重复元素

2023-12-29

我正在 python 中寻找一种算法,该算法将返回数字列表的所有可能组合,允许重复元素并加起来达到某个数字...

例如,给定目标数字 7,以及列表[2, 3, 4]我希望能够生成以下组合:

2, 2, 3
2, 3, 2
3, 2, 2
3, 4
4, 3

我了解如何获取列表的所有可能组合,但我不知道如何以这种方式包含重复项。任何帮助,将不胜感激!


您可以创建递归函数并应用必要的逻辑:

def combinations(d, current=[], sum_to = 7):
  if sum(current) == 7:
     yield current
  else:
    for i in d:
      if sum(current+[i]) <= 7:
         yield from combinations(d, current+[i])

print(list(combinations([2, 3, 4])))

Output:

[[2, 2, 3], [2, 3, 2], [3, 2, 2], [3, 4], [4, 3]]
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

查找列表元素的所有组合,包括重复元素 的相关文章

随机推荐

  • count(*) 真的很贵吗?

    我有一个页面 其中有 4 个选项卡 显示基于不同表格的 4 个不同报告 我使用以下方法获取每个表的行数select count from table 查询并显示选项卡上每个表中可用的行数 结果 每个页面回发都会导致 5count 要执行的查
  • 在 ItemsControl 中的每个项目周围包裹一些东西

    假设我有不同类的对象的集合 每个类在资源文件中都有其 UserControl DataTemplated 现在我想使用 ItemsControl 来显示集合 但我希望每个项目周围有一个边框或扩展器 我希望这样的事情能够发挥作用
  • 如何在 NextJS 中从 /api 创建文件?

    我目前正在尝试创建一个临时文件 api sendEmail js with fs mkdirSync fs mkdirSync path join dirname public 但在 Vercel 部署平台 上 所有文件夹都是只读的 我无法
  • JavaFx-14 resizeColumnToFitContent 方法

    JavaFx 14 将此方法放在 TableColumnHeader 中 而不是放在 Skin 中 如何从 TableColumn 和 TableView 中找到 TableColumnHeader 不知道你是否还需要这个 但如果其他人感兴
  • 使用高斯混合模型和 scikit learn 进行多类分类

    我正在尝试使用sklearn mixture GaussianMixture用于高光谱图像中的像素分类 有 15 个班级 1 15 我尝试使用该方法http scikit learn org stable auto examples mix
  • 如何为使用“create-react-app CLI”创建的现有React应用程序生成bundle.js

    这个问题与this https stackoverflow com questions 46564182 how to convert a react app to phonegap app所以帖子 我在用着create react app
  • BindingExpression 的源发生更改时发出通知?

    测试场景 我有一个带有 DependencyProperty A 的控件 我有一个带有属性 A 的 ViewModel 我使用 OneWayToSource 绑定将其绑定到控件的 A 属性 绑定由控件显式更新 我在运行时切换了绑定的 Vie
  • UICollectionView 的每个部分独立滚动?

    是否可以使用UICollectionView构建一个布局 其中每个section可以独立滚动吗 例如 假设有 20 行图像 其中每行都可以独立水平滚动以在屏幕外显示更多图像 在此过程中无需滚动其他行 并且整个视图可以垂直滚动以显示更多行 我
  • 使用until 参数调用Facebook News feed (me/home),每次连续调用返回limit/2

    这是我的代码的精简版本 没有初始化调用 一切都很完美 除了我每次连续调用都会传递一个until值转化为FB api 返回极限 2 我曾尝试使用不同的 Facebook 帐户在两次通话之间等待长达 1 分钟 但这对解决问题没有帮助 我检查了n
  • 如何从c++运行c++代码?

    如果我有一些 C 代码作为 C 程序中的字符串量 数据 我可以执行该字符串的内容吗 如在 C 中使用 CodeDOM 或 perl python 等中存在的 eval 函数 简短回答 你不能 稍微长一点的答案 c 没有反射 而且一般都是编译
  • Sublime Text 构建系统与选项

    我有一个项目的各种 shell 构建脚本 并且希望创建一个集中式构建系统 其中包含允许运行哪个 shell 脚本的选项 例如 用户按 Cmd B 然后用户会看到以下选项 1 shellscript1 sh2 shellscript2 sh3
  • 创建 XML 的最快且最有效的方法

    在 Java 中创建 XML 文档最快 最有效的方法是什么 那里有大量的库 woodstox xom xstream 只是想知道是否有人有任何输入 我应该采用代码生成方法 因为 xml 模式众所周知 吗 或者运行时的反射方法 编辑附加信息
  • 是否可以分层标记 matplotlib (pyplot) 条形图?

    我已经成功使用 matplotlib pyplot 绘制了以下条形图 该图来自聚合的 PANDAS DataFrame 如下所示 请注意 条形图中的每个条对应于mean柱子 另请注意 这些值是not零 但 PANDAS 输出0 and 0当
  • Python 3.6+ 格式化解包字典中缺少键的字符串

    在Python3 4中你可以做以下事情 class MyDict dict def missing self key return s key 然后是这样的 d MyDict d first name Richard print I am
  • Castle ActiveRecord 表名称冲突

    当你在 NHibernate 中遇到像 User 这样的保留字时 你只需在有问题的文本周围加上单引号 nHibernate 就会用方括号将文本括起来以进行查询 我的问题是如何使用 Castle ActiveRecord 做同样的事情 实际上
  • 发送包含自定义数据的 SNMP 陷阱

    客户要求我们将 SNMP 陷阱发送到他们的 Nagios 服务器 而不是电子邮件警报 昨天之前我对 SNMP 唯一的了解是它听起来像一个缩写词 所以请原谅 并纠正我 我对它可能有的任何误解 陷阱中需要发送的唯一信息与我们向客户端发出警报的事
  • 在 EC2 实例上启用 OpenSSL

    我目前正在尝试在我的 ec2 服务器上安装 openssl 以便我可以摆脱这个特定的错误 stream socket client SSL operation failed with code 1 OpenSSL Error message
  • 从第一个重定向到 HTTPS 的请求中删除 Azure Web App 上的响应服务器标头

    我正在尝试从 Azure Web 应用程序 使用 ASP Net core 应用程序 删除响应服务器标头 经过多次尝试改变网络配置并使用中间件删除应用程序代码中的标头 微软不会放弃并将响应标头设置为服务器 Microsoft IIS 10
  • 如何在 sqlproj (SQL Server 2012) 脚本中使用 msbuild 属性

    我刚刚将现有的 SQL Server 2008 r2 dbproj 升级到 SQL Server 2012 sqlproj 使用 SQL Server Data Tools 以前 我能够在项目中定义 SQLCMD 变量 然后通过添加以下元素
  • 查找列表元素的所有组合,包括重复元素

    我正在 python 中寻找一种算法 该算法将返回数字列表的所有可能组合 允许重复元素并加起来达到某个数字 例如 给定目标数字 7 以及列表 2 3 4 我希望能够生成以下组合 2 2 3 2 3 2 3 2 2 3 4 4 3 我了解如何