Python 排列下没有相同元素的集合的笛卡尔积

2023-12-03

我有一些集合,我想对其进行笛卡尔积,效果很好。但是,我想删除这个新集合中在元素排列下相同的所有元素。

例如,采用以下代码:

import itertools as ittools
x = 2
y = 3
z = 5

flist = list(ittools.product([x,y,z],repeat=3))

for f in flist:
    print reduce(lambda a,b: a*b, f)

此代码查找集合 {2,3,5} 的笛卡尔积,并返回结果集中每个元素的所有三个分量的乘积。然而,有些数字会出现多次,即 12 可以写成 2*2*3、2*3*2 或 3*2*2。我想删除这些重复项中除一个实例之外的所有实例。

我知道这从根本上来说是一个组合问题,但这似乎在 Python 中可能有一个很好的解决方案,它不需要像我在这里所做的那样对列表进行额外的传递来计算笛卡尔积的每个元素的一些标识符。


你要combinations_with_replacement, not product:

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

Python 排列下没有相同元素的集合的笛卡尔积 的相关文章

随机推荐

  • java中将非标准形式解析为标准形式

    我想编写一个Java解析器 将非标准形式 NSF 布尔函数转换为标准形式 SF NSF 示例 A B D A B C A B A B A B D 要将 NSF 转换为 SF 您必须将括号相乘 从上面的函数中可以看出 SF 是这样的 A B
  • 如何创建FindByIndexNameSessionRepository的bean

    我正在尝试创建 FindByIndexNameSessionRepository 的 Bean 我需要让所有用户会话使用它 但即使我已经定义了它 我仍然收到 bean 错误 我正在使用 Spring Boot Starter 1 5 7 E
  • PopViewController 奇怪的行为

    由于我试图拒绝一个奇怪的请求 但它不起作用 我不得不覆盖导航栏的后退按钮 我制作了一个自定义 UINavigationController 子类并破解了 BOOL navigationBar UINavigationBar navigati
  • 无法连接服务器。错误:0x8007000E

    当客户端尝试运行我的安装程序时 他在日志文件中收到此错误 Failed to connect to server Error 0x8007000E 当我在自己的机器上测试时 安装程 序运行良好 这是完整的日志文件 Verbose loggi
  • 如何在 Python 中将 URL 字符串拆分为单独的部分?

    我决定今晚学习 Python 我很了解C 用它写了一个操作系统 所以我不是编程新手 所以Python中的一切看起来都很简单 但我不知道如何解决这个问题 假设我有这个地址 http example com random folder path
  • 如何处理浮动元素?

    如果父元素中有浮动元素 则它们的父元素会失去其形状或没有高度 如何处理这个问题呢 Thanks 解决方案是使用clearfix class
  • 通过linux终端向另一个进程的stdin发送数据

    我一直在尝试将数据发送到正在运行的进程的标准输入 这是我所做的 在终端中 我启动了一个 C 程序 它只读取字符串并打印它 代码摘录 while true cin gt gt s cout lt lt I ve just read lt lt
  • PostgreSQL:命令已在进行中

    我的异步函数尝试从表中选择单个记录 该函数接受从另一个函数传递的一些参数 因此 某些进程 至少 6 个 可以同时使用它 我经常收到消息错误 命令已经在进行中 我知道问题隐藏在阅读器中 因为当另一个进程尝试访问它时 阅读器正忙 让我发布下面的
  • Pandas:查找具有第二高值的行的索引

    我试图在执行 groupby 之后获取具有第二高值的行的索引 但我没有得到正确的结果 df pd DataFrame Sp a b c d e f Mt s1 s1 s2 s2 s2 s3 Value 1 2 3 4 5 6 count 3
  • mysqli 中的 $GLOBALS["___mysqli_ston"] 是什么

    我第一次尝试使用 mysqli 我有一个问题 什么是 GLOBALS mysqli ston 你能告诉我吗 谷歌搜索时我没有得到任何直接答案 MySQLConverter 假定此全局变量设置为等于您的数据库连接对象 如果转换器找到 mysq
  • 捕获 xsl 结果文档的输出流

    我需要一种方法来干扰写入 xsl 结果文档 以避免将它们写入文件系统 现在我的模板正在写入临时目录 然后我压缩该目录 我想在不写入文件系统的情况下执行此操作 我正在使用 saxon 处理器 首选仅使用标准 java 库的解决方案 任何建议表
  • 如何在 Eclipse 中使用点(DOTALL)匹配多行查找正则表达式

    我想转换这个 def getEmployeeReminders employeeId Int page Option Int pageSize Option Int js callback Option String Action val
  • Pine 脚本 (TradingView) - 如何将止损移至获利水平

    TradingView 上有一个 Pine 脚本代码 其中有 2 个止盈水平和 2 个止损水平 交易视图网 当实现第一个止盈时 一半仓位被平仓 第一个止损移至入场水平 盈亏平衡 您是否有任何想法如何通过以下逻辑设置 3 个止盈水平 当达到
  • 函数替换子字符串返回错误答案

    我有一个程序替换字符串中的子字符串 我们的想法是找到string to be replaced in original string then realloc the new string并将其连接到replace by细绳 它适用于某些情
  • Android开发:以root权限以编程方式禁用“显示通知”?

    有没有办法以编程方式更改应用程序的详细信息 设置 gt 应用程序 gt anApp 具体来说 我可以取消选中 显示通知 吗 我假设你有root权限 预先感谢您的帮助 首先 这似乎取决于您对哪个版本的 Android 感兴趣 似乎 4 3 中
  • 我们可以使用 Selenium webdriver 来自动化基于 MS CRM 2015 的应用程序吗?

    我们可以使用 Selenium webdriver 来自动化基于 MS CRM 2015 的应用程序吗 如果不能 是否有任何具体原因 如果网页基于 HTML Selenium 可以自动化网页的任何部分 因此 如果您想检查它 请打开 CRM
  • 使用 Spring MVC 和 Boot 刷新静态内容

    我正在评估 Spring MVC Boot 和 AngularJs 用于构建 Web 应用程序 我遇到了这样的问题 当我修改静态内容 html js css 时 我每次都必须重新启动应用程序 我希望有某种方法可以解决这个问题 因为重新启动整
  • Application Insights 不捕获信息级别日志记录

    我有一个简单的 Asp Net Core Web API 应用程序 对于这个例子 我遵循了这里的官方文档 https learn microsoft com en us azure azure monitor app asp net cor
  • 使用VBA和数组公式方法进行多条件VLookup

    因此 当需要在 VBA 中创建具有多个条件的 VLookUp 时 我们的想法是利用漂亮的数组公式方法及其背后的想法 问题 我们可以将其翻译成VBA吗 INDEX range1 MATCH 1 A1 range2 B1 range3 C1 r
  • Python 排列下没有相同元素的集合的笛卡尔积

    我有一些集合 我想对其进行笛卡尔积 效果很好 但是 我想删除这个新集合中在元素排列下相同的所有元素 例如 采用以下代码 import itertools as ittools x 2 y 3 z 5 flist list ittools p