tij*_*jko 8 python python-itertools
我正在从范围列表中创建一个包含itertools的列表,到目前为止我有这个:
start_list = [xrange(0,201,1),xrange(0,201,2),xrange(0,201,5),xrange(0,201,10),xrange(0,201,20),xrange(0,201,50),xrange(0,201,100),xrange(0,201,200)]
Run Code Online (Sandbox Code Playgroud)
现在,我知道如果我试图运行下一行,它将杀死我的python解释器:
next_list = list(itertools.product(*start_list))
Run Code Online (Sandbox Code Playgroud)
我想知道的是,是否有可能引入一个参数来检查每个元组,它的项目总和只有在等于一定数量时才将它们放入next_list中?
也许是这样的:
next_list = list(itertools.product(*start_list,sum(tuples)=200))
Run Code Online (Sandbox Code Playgroud)
我知道这是不对的,我可能需要开始重新思考我的方式.start_list在生成器中的范围是否太多而无法构建另一个列表?
Joh*_*ooy 14
最好只使用列表理解
new_list = [item for item in itertools.product(*start_list) if sum(item) == 200]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
13049 次 |
| 最近记录: |