标签: combinations

使用Python从字典中组合列表值的组合

我有以下传入价值:

variants = {
  "debug" : ["on", "off"],
  "locale" : ["de_DE", "en_US", "fr_FR"],
  ...
}
Run Code Online (Sandbox Code Playgroud)

我想处理它们,所以我得到以下结果:

combinations = [
  [{"debug":"on"},{"locale":"de_DE"}],
  [{"debug":"on"},{"locale":"en_US"}],
  [{"debug":"on"},{"locale":"fr_FR"}],
  [{"debug":"off"},{"locale":"de_DE"}],
  [{"debug":"off"},{"locale":"en_US"}],
  [{"debug":"off"},{"locale":"fr_FR"}]
]
Run Code Online (Sandbox Code Playgroud)

这应该适用于字典中任意长度的键.在Python中使用itertools,但没有找到符合这些要求的任何内容.

python algorithm combinations dictionary list

24
推荐指数
2
解决办法
5276
查看次数

如何计算硬币问题的可能组合

我试图实现一个硬币问题,问题规范是这样的

创建一个函数来计算可用于给定金额的所有可能的硬币组合.

All possible combinations for given amount=15, coin types=1 6 7 
1) 1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,
2) 1,1,1,1,1,1,1,1,1,6,
3) 1,1,1,1,1,1,1,1,7,
4) 1,1,1,6,6,
5) 1,1,6,7,
6) 1,7,7,
Run Code Online (Sandbox Code Playgroud)

功能原型:

int findCombinationsCount(int amount, int coins[])
Run Code Online (Sandbox Code Playgroud)

假设硬币阵列已排序.对于上面的例子,这个函数应该返回6.

任何人都指导我如何实现这个?

java algorithm combinations

24
推荐指数
4
解决办法
5万
查看次数

生成具有给定范围内的长度的数组的所有可能组合

如何生成长度在给定范围内的数组元素的所有可能组合?例如:

('a'..'f').to_a.all_possibilities(3, 5)
Run Code Online (Sandbox Code Playgroud)

应该产生如下数组:

['abc', 'abd', 'abe', 'abf', ..., 'abcde', 'abcdf', 'abcda', ...]
Run Code Online (Sandbox Code Playgroud)

包括从"abc"(三个字符)到('a'..'f').to_a五个字符长度的最后一个可能组合.我不知道该怎么做.有帮助吗?

ruby arrays combinations

24
推荐指数
2
解决办法
3万
查看次数

在python中生成列表的所有组合

这是问题:

给定Python中的项目列表,我将如何获取项目的所有可能组合?

在这个网站上有几个类似的问题,建议使用itertools.combine,但这只返回我需要的一部分:

stuff = [1, 2, 3]
for L in range(0, len(stuff)+1):
    for subset in itertools.combinations(stuff, L):
        print(subset)

()
(1,)
(2,)
(3,)
(1, 2)
(1, 3)
(2, 3)
(1, 2, 3)
Run Code Online (Sandbox Code Playgroud)

如你所见,它只返回严格顺序的项目,而不是返回(2,1),(3,2),(3,1),(2,1,3),(3,1,2),( 2,3,1)和(3,2,1).有一些解决方法吗?我似乎无法想出任何东西.

python combinations list

24
推荐指数
3
解决办法
6万
查看次数

q.all for angular2 observables

有什么像q.all来解决angular2中的所有http api请求?

在angular1中,我可以这样做:

var promises = [api.getA(),api.getB()];
$q.all(promises).then(function(response){
    // response[0]  --> A
    // response[1]  --> B
})
Run Code Online (Sandbox Code Playgroud)

在angular2中,http模块返回Observable,

api.getA().subscribe(A => {A})
api.getB().subscribe(B => {B})
Run Code Online (Sandbox Code Playgroud)

但我想一起解决A和B,然后做点什么.

combinations subscribe observable angular

22
推荐指数
1
解决办法
8194
查看次数

如何在m列中生成n行的排列或组合?

有没有人知道如何从n行表中创建一个包含m列的表,其中每行的列中的值表示原始表中值的不同组合或排列?

例如,原始表有1列(number_value),其中包含3(n = 3)行:

1
2
3
Run Code Online (Sandbox Code Playgroud)

包含两个值(m = 2)的组合(顺序无关紧要)的表格如下:

number1, number2
1,2
1,3
2,3
Run Code Online (Sandbox Code Playgroud)

排列表如下:

number1, number2
1, 2
2, 1
1, 3
3, 1
2, 3
3, 2
Run Code Online (Sandbox Code Playgroud)

行的顺序无关紧要.

先感谢您!

sql combinations

21
推荐指数
1
解决办法
2万
查看次数

R:具有/不具有替换的排列和组合以及用于不同/非独特项目/多集的排列和组合

在这个主题中,我试图在这里包括所有常见问题及其答案.我希望这对某人有用.

一般问题:如何rn对象生成对象序列?

  • 组合与排列.
  • 有替换和没有替换.
  • 不同的项目与非独特的项目(多重集合).

总共存在这类2^3=8问题.

[更新]

Josh O'Brien认为这8个问题与十二种方式有关.实际上,"不同"的问题以十二种方式包含在内,而"非独特"的问题则不包括在内.无论如何,将这里的8个问题与12倍的方式进行比较是很有趣的.请参阅注释以获取进一步的读数.

combinations r permutation multiset r-faq

21
推荐指数
2
解决办法
1万
查看次数

如何创建矢量矢量的笛卡尔积?

我有一个矢量说vector<vector<int> > items不同大小的矢量,如下所示

1,2,3
4,5
6,7,8
Run Code Online (Sandbox Code Playgroud)

我想根据这些向量的笛卡尔积来创建组合

1,4,6
1,4,7
1,4,8
and so on till
3,5,8
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点 ?我查了几个链接,我也在这篇文章的末尾列出了它们,但我无法解释它,因为我不熟悉这种语言.有些人可以帮助我.

#include <iostream>
#include <iomanip>
#include <vector>

using namespace std;

int main()
{
    vector<vector<int> > items;
    int k = 0;

    for ( int i = 0; i < 5; i++ ) {
        items.push_back ( vector<int>() );

        for ( int j = 0; j < 5; j++ )
            items[i].push_back ( k++ );
    }

    cartesian ( items ); // I want some function here …
Run Code Online (Sandbox Code Playgroud)

c++ combinations vector cartesian-product

20
推荐指数
3
解决办法
2万
查看次数

从阵列到特定长度的所有可能字符串组合的算法

从给定数组中获取具有最小和最大长度值的所有可能字符串组合的最佳算法是什么.

注意:这增加了复杂性,因为值是可变的,与这些链接的问题不同.

例如:

$letters = array('a','b','c','1','2','3');
$min_length = 1;
$max_length = 4;

a
b
c
1
2
3
.
.
.
aaaa
a123
b123
c123
Run Code Online (Sandbox Code Playgroud)

php arrays algorithm combinations

20
推荐指数
5
解决办法
9574
查看次数

在字符串中创建字母替换的所有组合

我有一个字符串"ECET",我想创建所有可能的字符串,我用"X"替换一个或多个字母(除了第一个之外).

所以在这种情况下我的结果是:

> result
[1] "EXET" "ECXT" "ECEX" "EXXT" "EXEX" "ECXX" "EXXX"
Run Code Online (Sandbox Code Playgroud)

关于如何处理这个问题的任何想法?

这不仅可以创建"X"的可能组合/排列,还可以创建如何将它们与现有字符串组合.

combinations r

20
推荐指数
3
解决办法
1213
查看次数