当前位置: 首页 > 知识库问答 >
问题:

创建所有可能的三元组的多维数组

金赤岩
2023-03-14

我有一个包含加密符号列表的数组,例如(因为有一千多个)

symbols = ['agve', 'age', 'ageur', 'agfi']

我需要创建一个多维数组,包含所有可能的组合,例如。

combinations = [
                 ["agve", "age", "ageur"],
                 ["agve", "age", "agfi"],
                 ["age", "ageur", "agfi"],
               ...

生成的数组不应该有重复的排列,如["agve","age","ageur"]["agve","ageur","age"]

我真的不知道从哪里开始。我能得到的最接近的方法是用一些对构建一个数组(然后,不是写出来的,目标是逐渐搜索并添加缺少的组合):

    array_length = len(symbols)
    combinations = []
    current      = 0
    for i in range(array_length-3):
        combinations.append([symbols[current], symbols[current+1], symbols[current+2]])
        current += 1

任何帮助都将不胜感激。我的项目的其余部分是用Python 3.8编写的。

共有1个答案

皇甫德庸
2023-03-14

这是一段很长的记忆,你能一次考虑三个一个吗?无论如何,最简单的方法可能是itertools。组合。

from itertools import combinations

# Consider each individually
for triplet in combinations(symbols, 3):
    #DO SOMETHING
    pass

# Create the multidimentional array as you wanted
triplets = list(combinations(symbols, 3))
 类似资料:
  • 问题来了 找出所有毕达哥拉斯三元组中的1边、2边和斜边都不超过500。使用三重嵌套for循环,尝试各种可能性。 下面是我的尝试 但它没有成功,似乎是一个无限循环。请帮忙。 请注意:我是C语言的新手,我是自学的。而且,这不是家庭作业,我做问题陈述是因为这是表达问题的最佳方式。 编辑 右侧1侧2 运行成功(总时间: 1s) 编辑2 工作代码

  • 问题内容: 谁能给我一个带有多维输入数组的JavaScript示例/示例?希望您能有所帮助,因为我还是JavaScript的新手。 就像输入2行2列时一样,输出将是2行输入和2列输入。 像这样: 问题答案: http://jsfiddle.net/z4Un3/ 如果您想存储DOM元素,请执行以下操作: 在附加这些元素之前,无法确定上面的方法是否有用。以下可能是您正在寻找的更多内容: http://

  • 问题内容: 我已经阅读/尝试了很多关于SO的建议答案,但没有一个能解决问题 如何获得所有可能的组合? 预期产量: 注意:我要寻找的答案应包括 所有组合和所有不同的安排 。例如: ‘Alpha Beta’ 和 ‘Beta Alpha’ 是2个不同的字符串,并且都应位于输出数组中。 提前致谢 问题答案: 我相信您的教授会更满意此解决方案: 这解决了它:

  • 问题内容: 我正在使用PHP。 我有以下具有关系数据(父子关系)的数组。 我需要采用这种JSON格式: 我知道我需要创建一个多维数组并通过json_encode()运行它。我还认为,用于此操作的此方法必须是递归的,因为现实世界中的数据可能具有未知数量的级别。 我很高兴展示我的一些方法,但是它们没有用。 谁能帮我? 我被要求分享我的工作。这是我尝试过的方法,但还没有达到我所不知道的帮助程度。 我做了

  • 假设我有一个数据集: 我使用: 屈服: 我想使用这三行创建不同的组合,为每个组合形成一个数据集。 组合的示例如下: 另一个是: 第三种可能的组合如下: 最后: PS:在前面的示例中,每个组合(一个数据集)至少有两行, 如何在JAVA中实现这一点?非常感谢。

  • 问题内容: 创建数组时,NumPy非常有用。如果for的第一个参数具有and方法,则根据它们可能是有效序列使用它们。 不幸的是,我想创建一个包含没有NumPy是“有用的”的数组。 分解为一个最小的示例,该类将如下所示: 如果“可迭代对象”的长度不同,那么一切都很好,而我得到的结果恰好是我想要的: 但是NumPy会创建一个多维数组,如果它们恰好具有相同的长度: 不幸的是,只有一个参数,所以我想知道是