841得票41回答
如何生成列表的所有排列?

如何生成列表的所有排列组合?例如:permutations([]) [] permutations([1]) [1] permutations([1, 2]) [1, 2] [2, 1] permutations([1, 2, 3]) [1, 2, 3] [1, 3, 2] [2, 1,...

281得票11回答
如何将长列表的排列与短列表匹配(根据短列表的长度)?

我正在尝试实现一个算法,但无法理解它。我有两个列表,想从这两个列表中取特定的组合。 以下是一个示例。names = ['a', 'b'] numbers = [1, 2] 在这种情况下的输出将会是:[('a', 1), ('b', 2)] [('b', 1), ('a', 2)] 我的名字可能...

165得票36回答
生成一个字符串的所有可能排列列表

如何生成一个包含可变字符列表、长度在x和y之间的所有可能排列的字符串列表? 任何编程语言都可以,但需要具备可移植性。

135得票6回答
如何从列表中获取“带重复元素/替换的排列”(列表自身的笛卡尔积)?

假设我有一个列表die_faces = [1, 2, 3, 4, 5, 6],我想生成掷两个骰子的所有36种可能结果:(1, 1)、(1, 2)、(2, 1)等。如果我尝试使用标准库中的itertools中的permutations:>>> import itertools ...

127得票13回答
快速排列 -> 数字 -> 排列映射算法

我有n个元素。以7个元素为例,它们是1234567。我知道这些7个元素有7! = 5040 种可能的排列方式。 我需要一个快速算法,包含两个函数: f(number):将0到5039之间的数字映射到唯一的排列方式; f'(permutation) :将排列方式映射回生成它的数字。 我不...

90得票4回答
字典列表的笛卡尔积

我正在尝试编写一些代码来测试一堆输入参数的笛卡尔积。 我看过了 'itertools',但它的 'product' 函数不完全符合我的要求。是否有一种简单明显的方法可以接受一个具有任意数量键和每个值中任意数量元素的字典,并产生下一个排列的字典? 输入:options = {"number"...

88得票6回答
生成惰性排列

我正在寻找一种算法,以这样的方式生成集合的排列,我能够在Clojure中创建一个惰性列表。即我希望迭代一系列排列,每个排列在请求时才计算,并且所有排列不必同时存储在内存中。 或者,我正在寻找一种算法,它可以给出集合的“下一个”排列,以便重复调用函数的输出将按某个顺序循环遍历原始集合的所有排...

88得票12回答
生成一个列表的所有排列,且每个排列中相邻元素不相等。

当我们对列表进行排序时,例如 a = [1,2,3,3,2,2,1] sorted(a) => [1, 1, 2, 2, 2, 3, 3] 在生成的列表中,相等的元素总是相邻的。 如何实现相反的任务-打乱列表,使相等的元素尽可能不相邻? 例如,对于上述列表,可能的解决方案之一是...

83得票15回答
Haskell中两个列表的笛卡尔积

我希望在Haskell中生成两个列表的笛卡尔积,但我不知道该如何实现。笛卡尔积会给出列表元素的所有组合:xs = [1,2,3] ys = [4,5,6] cartProd :: [a] -> [b] -> [(a,b)] cartProd xs ys ==> [(1,4)...

72得票12回答
生成所有可能的组合

给定2个数组 Array1 = {a,b,c...n} 和 Array2 = {10,20,15....x},如何生成所有可能的组合作为字符串 a(i) b(j) c(k) n(p),其中 1 <= i <= 10, 1 <= j <= 20 , 1 <= k ...