小编Ale*_*len的帖子

Python笛卡儿的产品和条件?

在Python中,我使用itertools.product()函数为模拟生成输入参数.

我有一个测试功能,需要4个输入参数a1,a2,b1和b2.我使用下面的代码生成参数.例:

params = itertools.product(range(10,41,2), range(10,41,2), range(0, 2), range(5, 31, 5))
Run Code Online (Sandbox Code Playgroud)

......这给了我3072个组合.不幸的是,某些组合在逻辑上毫无意义.E. g.如果a2大于a1,则测试结果是无用的,当b1等于0时,b2的值完全无关 - 所以测试这样的组合是没有意义的.

是否有可能限制或过滤笛卡尔积,只需手动执行并嵌套for循环?因为我的真实用例有超过4个参数,这就是为什么我喜欢itertools中笛卡尔积函数的便利性.

任何想法或替代品?任何帮助表示感谢,谢谢.

python python-itertools

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

扩展Python列表"内联"

我正在寻找内联工作的list.extend()方法的替代方法.

代替

x = range(15,30,3)
x.extend([0])
print (x)

>>> [15, 18, 21, 24, 27, 0]
Run Code Online (Sandbox Code Playgroud)

我需要一个内联工作的等效项,比如

print range(15,30,3).extend([0])

>>> None
Run Code Online (Sandbox Code Playgroud)

但是extend不会返回列表本身.

是否有任何花哨的开箱即用的命令来实现同样的目标?

python list

3
推荐指数
1
解决办法
3240
查看次数

标签 统计

python ×2

list ×1

python-itertools ×1