相关疑难解决方法(0)

n个列表的Python笛卡尔积,编码时n未知


  • what is the best way to generate a cartesian product of some lists, not knowing in advance how many lists there are?

如果你愿意,你可以在这里停止阅读.


背景

我没有钱上学,所以我试图在高速公路收费站夜班工作时使用互联网进行一些编程.我决定尝试解决一些"编程挑战"问题作为练习.

编程任务

这是我要解决的问题,TopCoder的属性:

http://community.topcoder.com/stat?c=problem_statement&pm=3496
Run Code Online (Sandbox Code Playgroud)

我不会复制和粘贴完整的描述以尊重他们的版权声明,但我假设我可以总结它,只要我不逐字使用它(IANAL).

摘要

如果历史股票价格的"加权和"是通过将这些价格的子集乘以相等数量的"加权"因子而获得的附加值的总和,前提是后者加起来为1.0,并从给定的有效值集合中选择[-1.0,-0.9,...,0.9,1.0],对作为函数参数提供的所有历史数据使用此公式,一次检查5个价格,预测下一个价格并返回"加权因子"的排列"产生最低的平均预测误差.每次运行至少会有6个股票价格,因此保证至少有一个预测,最终结果应该在1E-9之内准确.

测试数据

格式:

  • 输入数据的一行,list格式为
  • 预期结果的一行
  • 一个空行作为间隔

下载地址:

我的解决方案


import itertools

# For a permutation of factors to be used in a weighted sum, it should be chosen
# such than the sum of all factors is 1. …
Run Code Online (Sandbox Code Playgroud)

python

7
推荐指数
1
解决办法
2158
查看次数

在Perl中,我如何迭代多个集合的笛卡尔积?

给定x数组的数量,每个数组可能有不同数量的元素,如何迭代所有组合,我从每个数组中选择一个项目?

例:

[   ]   [   ]   [   ]
 foo     cat      1
 bar     dog      2
 baz              3
                  4
Run Code Online (Sandbox Code Playgroud)

返回

[foo]   [cat]   [ 1 ]
[foo]   [cat]   [ 2 ]
  ...
[baz]   [dog]   [ 4 ]
Run Code Online (Sandbox Code Playgroud)

我在Perl中这样做,顺便说一下.

algorithm perl cartesian-product

4
推荐指数
1
解决办法
2164
查看次数

标签 统计

algorithm ×1

cartesian-product ×1

perl ×1

python ×1