相关疑难解决方法(0)

有没有办法在Java中进行n级嵌套循环?

换句话说,我可以做些什么

for() {
    for {
       for {
       }
    }
}
Run Code Online (Sandbox Code Playgroud)

除了N次?换句话说,当调用创建循环的方法时,会给它一些参数N,然后该方法会创建N个嵌套在另一个中的N?

当然,我们的想法是应该采用"简单"或"通常"的方式.我已经有了一个非常复杂的想法.

java recursion loops for-loop

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

numpy中的itertools.combinations的ND版本

我想为numpy 实现itertools.combinations.根据这个讨论,我有一个适用于一维输入的功能:

def combs(a, r):
    """
    Return successive r-length combinations of elements in the array a.
    Should produce the same output as array(list(combinations(a, r))), but 
    faster.
    """
    a = asarray(a)
    dt = dtype([('', a.dtype)]*r)
    b = fromiter(combinations(a, r), dt)
    return b.view(a.dtype).reshape(-1, r)
Run Code Online (Sandbox Code Playgroud)

并且输出有意义:

In [1]: list(combinations([1,2,3], 2))
Out[1]: [(1, 2), (1, 3), (2, 3)]

In [2]: array(list(combinations([1,2,3], 2)))
Out[2]: 
array([[1, 2],
       [1, 3],
       [2, 3]])

In [3]: combs([1,2,3], 2)
Out[3]: 
array([[1, 2],
       [1, 3],
       [2, 3]]) …
Run Code Online (Sandbox Code Playgroud)

python numpy combinatorics python-itertools

16
推荐指数
3
解决办法
7596
查看次数