如何浏览itertools的排列? [英] How to skim itertools permutations?

查看:59
本文介绍了如何浏览itertools的排列?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

初始代码:

from itertools import permutations
ListX = ["A","B","C","(",")","#"]
perm_iterator = list(permutations(ListX))
print(list(perm_iterator))

结果:

[('A', 'B', 'C', '(', ')', '#'), ('A', 'B', 'C', '(', '#', ')'), ('A', 'B', 'C', ')', '(', '#'), ('A', 'B', 'C', ')', '#', '('), ('A', 'B', 'C', '#', '(', ')'), ('A', 'B', 'C', '#', ')', '('), ('A', 'B', '(', 'C', ')', '#'), ('A', 'B', '(', 'C', '#', ')'), ('A', 'B', '(', ')', 'C', '#'), ('A', 'B', '(', ')', '#', 'C'), ('A', 'B', '(', '#', 'C', ')'), ('A', 'B', '(', '#', ')', 'C'), ('A', 'B', ')', 'C', '(', '#'), ('A', 'B', ')', 'C', '#', '('), ('A', 'B', ')', '(', 'C', '#'), ('A', 'B', ')', '(', '#', 'C'), ('A', 'B', ')', '#', 'C', '('), ('A', 'B', ')', '#', '(', 'C'), ('A', 'B', '#', 'C', '(', ')'), ('A', 'B', '#', 'C', ')', '('), ('A', 'B', '#', '(', 'C', ')'), ('A', 'B', '#', '(', ')', 'C'), ('A', 'B', '#', ')', 'C', '('), ('A', 'B', '#', ')', '(', 'C'), ('A', 'C', 'B', '(', ')', '#'), ('A', 'C', 'B', '(', '#', ')'), ('A', 'C', 'B', ')', '(', '#'), ('A', 'C', 'B', ')', '#', '('), ('A', 'C', 'B', '#', '(', ')'), ('A', 'C', 'B', '#', ')', '('), ('A', 'C', '(', 'B', ')', '#'), ('A', 'C', '(', 'B', '#', ')'), ('A', 'C', '(', ')', 'B', '#'), ('A', 'C', '(', ')', '#', 'B'), ('A', 'C', '(', '#', 'B', ')'), ('A', 'C', '(', '#', ')', 'B'), ('A', 'C', ')', 'B', '(', '#'), ('A', 'C', ')', 'B', '#', '('), ('A', 'C', ')', '(', 'B', '#'), ('A', 'C', ')', '(', '#', 'B'), ('A', 'C', ')', '#', 'B', '('), ('A', 'C', ')', '#', '(', 'B'), ('A', 'C', '#', 'B', '(', ')'), ('A', 'C', '#', 'B', ')', '('), ('A', 'C', '#', '(', 'B', ')'), ('A', 'C', '#', '(', ')', 'B'), ('A', 'C', '#', ')', 'B', '('), ('A', 'C', '#', ')', '(', 'B'), ('A', '(', 'B', 'C', ')', '#'), ('A', '(', 'B', 'C', '#', ')'), ('A', '(', 'B', ')', 'C', '#'), ('A', '(', 'B', ')', '#', 'C'), ('A', '(', 'B', '#', 'C', ')'), ('A', '(', 'B', '#', ')', 'C'), ('A', '(', 'C', 'B', ')', '#'), ('A', '(', 'C', 'B', '#', ')'), ('A', '(', 'C', ')', 'B', '#'), ('A', '(', 'C', ')', '#', 'B'), ('A', '(', 'C', '#', 'B', ')'), ('A', '(', 'C', '#', ')', 'B'), ('A', '(', ')', 'B', 'C', '#'), ('A', '(', ')', 'B', '#', 'C'), ('A', '(', ')', 'C', 'B', '#'), ('A', '(', ')', 'C', '#', 'B'), ('A', '(', ')', '#', 'B', 'C'), ('A', '(', ')', '#', 'C', 'B'), ('A', '(', '#', 'B', 'C', ')'), ('A', '(', '#', 'B', ')', 'C'), ('A', '(', '#', 'C', 'B', ')'), ('A', '(', '#', 'C', ')', 'B'), ('A', '(', '#', ')', 'B', 'C'), ('A', '(', '#', ')', 'C', 'B'), ('A', ')', 'B', 'C', '(', '#'), ('A', ')', 'B', 'C', '#', '('), ('A', ')', 'B', '(', 'C', '#'), ('A', ')', 'B', '(', '#', 'C'), ('A', ')', 'B', '#', 'C', '('), ('A', ')', 'B', '#', '(', 'C'), ('A', ')', 'C', 'B', '(', '#'), ('A', ')', 'C', 'B', '#', '('), ('A', ')', 'C', '(', 'B', '#'), ('A', ')', 'C', '(', '#', 'B'), ('A', ')', 'C', '#', 'B', '('), ('A', ')', 'C', '#', '(', 'B'), ('A', ')', '(', 'B', 'C', '#'), ('A', ')', '(', 'B', '#', 'C'), ('A', ')', '(', 'C', 'B', '#'), ('A', ')', '(', 'C', '#', 'B'), ('A', ')', '(', '#', 'B', 'C'), ('A', ')', '(', '#', 'C', 'B'), ('A', ')', '#', 'B', 'C', '('), ('A', ')', '#', 'B', '(', 'C'), ('A', ')', '#', 'C', 'B', '('), ('A', ')', '#', 'C', '(', 'B'), ('A', ')', '#', '(', 'B', 'C'), ('A', ')', '#', '(', 'C', 'B'), ('A', '#', 'B', 'C', '(', ')'), ('A', '#', 'B', 'C', ')', '('), ('A', '#', 'B', '(', 'C', ')'), ('A', '#', 'B', '(', ')', 'C'), ('A', '#', 'B', ')', 'C', '('), ('A', '#', 'B', ')', '(', 'C'), ('A', '#', 'C', 'B', '(', ')'), ('A', '#', 'C', 'B', ')', '('), ('A', '#', 'C', '(', 'B', ')'), ('A', '#', 'C', '(', ')', 'B'), ('A', '#', 'C', ')', 'B', '('), ('A', '#', 'C', ')', '(', 'B'), ('A', '#', '(', 'B', 'C', ')'), ('A', '#', '(', 'B', ')', 'C'), ('A', '#', '(', 'C', 'B', ')'), ('A', '#', '(', 'C', ')', 'B'), ('A', '#', '(', ')', 'B', 'C'), ('A', '#', '(', ')', 'C', 'B'), ('A', '#', ')', 'B', 'C', '('), ('A', '#', ')', 'B', '(', 'C'), ('A', '#', ')', 'C', 'B', '('), ('A', '#', ')', 'C', '(', 'B'), ('A', '#', ')', '(', 'B', 'C'), ('A', '#', ')', '(', 'C', 'B'), ('B', 'A', 'C', '(', ')', '#'), ('B', 'A', 'C', '(', '#', ')'), ('B', 'A', 'C', ')', '(', '#'), ('B', 'A', 'C', ')', '#', '('), ('B', 'A', 'C', '#', '(', ')'), ('B', 'A', 'C', '#', ')', '('), ('B', 'A', '(', 'C', ')', '#'), ('B', 'A', '(', 'C', '#', ')'), ('B', 'A', '(', ')', 'C', '#'), ('B', 'A', '(', ')', '#', 'C'), ('B', 'A', '(', '#', 'C', ')'), ('B', 'A', '(', '#', ')', 'C'), ('B', 'A', ')', 'C', '(', '#'), ('B', 'A', ')', 'C', '#', '('), ('B', 'A', ')', '(', 'C', '#'), ('B', 'A', ')', '(', '#', 'C'), ('B', 'A', ')', '#', 'C', '('), ('B', 'A', ')', '#', '(', 'C'), ('B', 'A', '#', 'C', '(', ')'), ('B', 'A', '#', 'C', ')', '('), ('B', 'A', '#', '(', 'C', ')'), ('B', 'A', '#', '(', ')', 'C'), ('B', 'A', '#', ')', 'C', '('), ('B', 'A', '#', ')', '(', 'C'), ('B', 'C', 'A', '(', ')', '#'), ('B', 'C', 'A', '(', '#', ')'), ('B', 'C', 'A', ')', '(', '#'), ('B', 'C', 'A', ')', '#', '('), ('B', 'C', 'A', '#', '(', ')'), ('B', 'C', 'A', '#', ')', '('), ('B', 'C', '(', 'A', ')', '#'), ('B', 'C', '(', 'A', '#', ')'), ('B', 'C', '(', ')', 'A', '#'), ('B', 'C', '(', ')', '#', 'A'), ('B', 'C', '(', '#', 'A', ')'), ('B', 'C', '(', '#', ')', 'A'), ('B', 'C', ')', 'A', '(', '#'), ('B', 'C', ')', 'A', '#', '('), ('B', 'C', ')', '(', 'A', '#'), ('B', 'C', ')', '(', '#', 'A'), ('B', 'C', ')', '#', 'A', '('), ('B', 'C', ')', '#', '(', 'A'), ('B', 'C', '#', 'A', '(', ')'), ('B', 'C', '#', 'A', ')', '('), ('B', 'C', '#', '(', 'A', ')'), ('B', 'C', '#', '(', ')', 'A'), ('B', 'C', '#', ')', 'A', '('), ('B', 'C', '#', ')', '(', 'A'), ('B', '(', 'A', 'C', ')', '#'), ('B', '(', 'A', 'C', '#', ')'), ('B', '(', 'A', ')', 'C', '#'), ('B', '(', 'A', ')', '#', 'C'), ('B', '(', 'A', '#', 'C', ')'), ('B', '(', 'A', '#', ')', 'C'), ('B', '(', 'C', 'A', ')', '#'), ('B', '(', 'C', 'A', '#', ')'), ('B', '(', 'C', ')', 'A', '#'), ('B', '(', 'C', ')', '#', 'A'), ('B', '(', 'C', '#', 'A', ')'), ('B', '(', 'C', '#', ')', 'A'),]

现在我要删除所有以)"开头的内容或#"

Now I want to remove everything starting with ")" or "#"

并结束((")或#"和contenin((",#",)")

and ends whit "(" or "#" and contenin "(","#",")"

ListY=[dev for dev in perm_iterator if not dev[0].startswith(("#"))]
LystX=[dev for dev in ListY if not dev[-1].startswith(("#"))]
LystZ=[dev for dev in LystX if not dev[0].startswith((")"))] #start with
List_clened=[dev for dev in LystZ if not dev[-1].startswith(("("))] #end 

使用

[('A', 'B', 'C', '(', '#', ')'), ('A', 'B', 'C', '#', '(', ')'), ('A', 'B', '(', 'C', '#', ')'), ('A', 'B', '(', ')', '#', 'C'), ('A', 'B', '(', '#', 'C', ')'), ('A', 'B', '(', '#', ')', 'C'), ('A', 'B', ')', '(', '#', 'C'), ('A', 'B', ')', '#', '(', 'C'), ('A', 'B', '#', 'C', '(', ')'), ('A', 'B', '#', '(', 'C', ')'), ('A', 'B', '#', '(', ')', 'C'), ('A', 'B', '#', ')', '(', 'C'), ('A', 'C', 'B', '(', '#', ')'), ('A', 'C', 'B', '#', '(', ')'), ('A', 'C', '(', 'B', '#', ')'), ('A', 'C', '(', ')', '#', 'B'), ('A', 'C', '(', '#', 'B', ')'), ('A', 'C', '(', '#', ')', 'B'), ('A', 'C', ')', '(', '#', 'B'), ('A', 'C', ')', '#', '(', 'B'), ('A', 'C', '#', 'B', '(', ')'), ('A', 'C', '#', '(', 'B', ')'), ('A', 'C', '#', '(', ')', 'B'), ('A', 'C', '#', ')', '(', 'B'), ('A', '(', 'B', 'C', '#', ')'), ('A', '(', 'B', ')', '#', 'C'), ('A', '(', 'B', '#', 'C', ')'), ('A', '(', 'B', '#', ')', 'C'), ('A', '(', 'C', 'B', '#', ')'), ('A', '(', 'C', ')', '#', 'B'), ('A', '(', 'C', '#', 'B', ')'), ('A', '(', 'C', '#', ')', 'B'), ('A', '(', ')', 'B', '#', 'C'), ('A', '(', ')', 'C', '#', 'B'), ('A', '(', ')', '#', 'B', 'C'), ('A', '(', ')', '#', 'C', 'B'), ('A', '(', '#', 'B', 'C', ')'), ('A', '(', '#', 'B', ')', 'C'), ('A', '(', '#', 'C', 'B', ')'), ('A', '(', '#', 'C', ')', 'B'), ('A', '(', '#', ')', 'B', 'C'), ('A', '(', '#', ')', 'C', 'B'), ('A', ')', 'B', '(', '#', 'C'), ('A', ')', 'B', '#', '(', 'C'), ('A', ')', 'C', '(', '#', 'B'), ('A', ')', 'C', '#', '(', 'B'), ('A', ')', '(', 'B', '#', 'C'), ('A', ')', '(', 'C', '#', 'B'), ('A', ')', '(', '#', 'B', 'C'), ('A', ')', '(', '#', 'C', 'B'), ('A', ')', '#', 'B', '(', 'C'), ('A', ')', '#', 'C', '(', 'B'), ('A', ')', '#', '(', 'B', 'C'), ('A', ')', '#', '(', 'C', 'B'), ('A', '#', 'B', 'C', '(', ')'), ('A', '#', 'B', '(', 'C', ')'), ('A', '#', 'B', '(', ')', 'C'), ('A', '#', 'B', ')', '(', 'C'), ('A', '#', 'C', 'B', '(', ')'), ('A', '#', 'C', '(', 'B', ')'), ('A', '#', 'C', '(', ')', 'B'), ('A', '#', 'C', ')', '(', 'B'), ('A', '#', '(', 'B', 'C', ')'), ('A', '#', '(', 'B', ')', 'C'), ('A', '#', '(', 'C', 'B', ')'), ('A', '#', '(', 'C', ')', 'B'), ('A', '#', '(', ')', 'B', 'C'), ('A', '#', '(', ')', 'C', 'B'), ('A', '#', ')', 'B', '(', 'C'), ('A', '#', ')', 'C', '(', 'B'), ('A', '#', ')', '(', 'B', 'C'), ('A', '#', ')', '(', 'C', 'B'), ('B', 'A', 'C', '(', '#', ')'), ('B', 'A', 'C', '#', '(', ')'), ('B', 'A', '(', 'C', '#', ')'), ('B', 'A', '(', ')', '#', 'C'), ('B', 'A', '(', '#', 'C', ')'), ('B', 'A', '(', '#', ')', 'C'), ('B', 'A', ')', '(', '#', 'C'), ('B', 'A', ')', '#', '(', 'C'), ('B', 'A', '#', 'C', '(', ')'), ('B', 'A', '#', '(', 'C', ')'), ('B', 'A', '#', '(', ')', 'C'), ('B', 'A', '#', ')', '(', 'C'), ('B', 'C', 'A', '(', '#', ')'), ('B', 'C', 'A', '#', '(', ')'), ('B', 'C', '(', 'A', '#', ')'), ('B', 'C', '(', ')', '#', 'A'), ('B', 'C', '(', '#', 'A', ')'), ('B', 'C', '(', '#', ')', 'A'), ('B', 'C', ')', '(', '#', 'A'), ('B', 'C', ')', '#', '(', 'A'), ('B', 'C', '#', 'A', '(', ')'), ('B', 'C', '#', '(', 'A', ')'), ('B', 'C', '#', '(', ')', 'A'), ('B', 'C', '#', ')', '(', 'A'), ('B', '(', 'A', 'C', '#', ')'), ('B', '(', 'A', ')', '#', 'C'), ('B', '(', 'A', '#', 'C', ')'), ('B', '(', 'A', '#', ')', 'C'), ('B', '(', 'C', 'A', '#', ')'), ('B', '(', 'C', ')', '#', 'A'), ('B', '(', 'C', '#', 'A', ')'), ('B', '(', 'C', '#', ')', 'A'), ('B', '(', ')', 'A', '#', 'C'), ('B', '(', ')', 'C', '#', 'A'), ('B', '(', ')', '#', 'A', 'C'), ('B', '(', ')', '#', 'C', 'A'), ('B', '(', '#', 'A', 'C', ')'), ('B', '(', '#', 'A', ')', 'C'), ('B', '(', '#', 'C', 'A', ')'), ('B', '(', '#', 'C', ')', 'A'), ('B', '(', '#', ')', 'A', 'C'), ('B', '(', '#', ')', 'C', 'A'), ('B', ')', 'A', '(', '#', 'C'), ('B', ')', 'A', '#', '(', 'C'), ('B', ')', 'C', '(', '#', 'A'), ('B', ')', 'C', '#', '(', 'A'), ('B', ')', '(', 'A', '#', 'C'), ('B', ')', '(', 'C', '#', 'A'), ('B', ')', '(', '#', 'A', 'C'), ('B', ')', '(', '#', 'C', 'A'), ('B', ')', '#', 'A', '(', 'C'), ('B', ')', '#', 'C', '(', 'A'), ('B', ')', '#', '(', 'A', 'C'), ('B', ')', '#', '(', 'C', 'A'), ('B', '#', 'A', 'C', '(', ')'), ('B', '#', 'A', '(', 'C', ')'), ('B', '#', 'A', '(', ')', 'C'), ('B', '#', 'A', ')', '(', 'C'), ('B', '#', 'C', 'A', '(', ')'), ('B', '#', 'C', '(', 'A', ')'), ('B', '#', 'C', '(', ')', 'A'), ('B', '#', 'C', ')', '(', 'A'), ('B', '#', '(', 'A', 'C', ')'), ('B', '#', '(', 'A', ')', 'C'), ('B', '#', '(', 'C', 'A', ')'), ('B', '#', '(', 'C', ')', 'A'), ('B', '#', '(', ')', 'A', 'C'), ('B', '#', '(', ')', 'C', 'A'), ('B', '#', ')', 'A', '(', 'C'), ('B', '#', ')', 'C', '(', 'A'), ('B', '#', ')', '(', 'A', 'C'), ('B', '#', ')', '(', 'C', 'A'), ('C', 'A', 'B', '(', '#', ')'), ('C', 'A', 'B', '#', '(', ')'), ('C', 'A', '(', 'B', '#', ')'), ('C', 'A', '(', ')', '#', 'B'), ('C', 'A', '(', '#', 'B', ')'), ('C', 'A', '(', '#', ')', 'B'), ('C', 'A', ')', '(', '#', 'B'), ('C', 'A', ')', '#', '(', 'B'), ('C', 'A', '#', 'B', '(', ')'), ('C', 'A', '#', '(', 'B', ')'), ('C', 'A', '#', '(', ')', 'B'), ('C', 'A', '#', ')', '(', 'B'), ('C', 'B', 'A', '(', '#', ')'), ('C', 'B', 'A', '#', '(', ')'), ('C', 'B', '(', 'A', '#', ')'), ('C', 'B', '(', ')', '#', 'A'), ('C', 'B', '(', '#', 'A', ')'), ('C', 'B', '(', '#', ')', 'A'), ('C', 'B', ')', '(', '#', 'A'), ('C', 'B', ')', '#', '(', 'A'), ('C', 'B', '#', 'A', '(', ')'), ('C', 'B', '#', '(', 'A', ')'), ('C', 'B', '#', '(', ')', 'A'), ('C', 'B', '#', ')', '(', 'A'), ('C', '(', 'A', 'B', '#', ')'), ('C', '(', 'A', ')', '#', 'B'), ('C', '(', 'A', '#', 'B', ')'), ('C', '(', 'A', '#', ')', 'B'), ('C', '(', 'B', 'A', '#', ')'), ('C', '(', 'B', ')', '#', 'A'), ('C', '(', 'B', '#', 'A', ')'), ('C', '(', 'B', '#', ')', 'A'), ('C', '(', ')', 'A', '#', 'B'), ('C', '(', ')', 'B', '#', 'A'), ('C', '(', ')', '#', 'A', 'B'), ('C', '(', ')', '#', 'B', 'A'), ('C', '(', '#', 'A', 'B', ')'), ('C', '(', '#', 'A', ')', 'B'), ('C', '(', '#', 'B', 'A', ')'), ('C', '(', '#', 'B', ')', 'A'), ('C', '(', '#', ')', 'A', 'B'), ('C', '(', '#', ')', 'B', 'A'), ('C', ')', 'A', '(', '#', 'B'), ('C', ')', 'A', '#', '(', 'B'), ('C', ')', 'B', '(', '#', 'A'), ('C', ')', 'B', '#', '(', 'A'), ('C', ')', '(', 'A', '#', 'B'), ('C', ')', '(', 'B', '#', 'A'), ('C', ')', '(', '#', 'A', 'B'), ('C', ')', '(', '#', 'B', 'A'), ('C', ')', '#', 'A', '(', 'B'), ('C', ')', '#', 'B', '(', 'A'), ('C', ')', '#', '(', 'A', 'B'), ('C', ')', '#', '(', 'B', 'A'), ('C', '#', 'A', 'B', '(', ')'), ('C', '#', 'A', '(', 'B', ')'), ('C', '#', 'A', '(', ')', 'B'), ('C', '#', 'A', ')', '(', 'B'), ('C', '#', 'B', 'A', '(', ')'), ('C', '#', 'B', '(', 'A', ')'), ('C', '#', 'B', '(', ')', 'A'), ('C', '#', 'B', ')', '(', 'A'), ('C', '#', '(', 'A', 'B', ')'), ('C', '#', '(', 'A', ')', 'B'), ('C', '#', '(', 'B', 'A', ')'), ('C', '#', '(', 'B', ')', 'A'), ('C', '#', '(', ')', 'A', 'B'), ('C', '#', '(', ')', 'B', 'A'), ('C', '#', ')', 'A', '(', 'B'), ('C', '#', ')', 'B', '(', 'A'), ('C', '#', ')', '(', 'A', 'B'), ('C', '#', ')', '(', 'B', 'A'), ('(', 'A', 'B', 'C', '#', ')'), ('(', 'A', 'B', ')', '#', 'C'), ('(', 'A', 'B', '#', 'C', ')'), ('(', 'A', 'B', '#', ')', 'C'), ('(', 'A', 'C', 'B', '#', ')'), ('(', 'A', 'C', ')', '#', 'B'), ('(', 'A', 'C', '#', 'B', ')'), ('(', 'A', 'C', '#', ')', 'B'), ('(', 'A', ')', 'B', '#', 'C'), ('(', 'A', ')', 'C', '#', 'B'), ('(', 'A', ')', '#', 'B', 'C'), ('(', 'A', ')', '#', 'C', 'B'), ('(', 'A', '#', 'B', 'C', ')'), ('(', 'A', '#', 'B', ')', 'C'), ('(', 'A', '#', 'C', 'B', ')'), ('(', 'A', '#', 'C', ')', 'B'), ('(', 'A', '#', ')', 'B', 'C'), ('(', 'A', '#', ')', 'C', 'B'), ('(', 'B', 'A', 'C', '#', ')'), ('(', 'B', 'A', ')', '#', 'C'), ('(', 'B', 'A', '#', 'C', ')'), ('(', 'B', 'A', '#', ')', 'C'), ('(', 'B', 'C', 'A', '#', ')'), ('(', 'B', 'C', ')', '#', 'A'), ('(', 'B', 'C', '#', 'A', ')'), ('(', 'B', 'C', '#', ')', 'A'), ('(', 'B', ')', 'A', '#', 'C'), ('(', 'B', ')', 'C', '#', 'A'), ('(', 'B', ')', '#', 'A', 'C'), ('(', 'B', ')', '#', 'C', 'A'), ('(', 'B', '#', 'A', 'C', ')'), ('(', 'B', '#', 'A', ')', 'C'), ('(', 'B', '#', 'C', 'A', ')'), ('(', 'B', '#', 'C', ')', 'A'), ('(', 'B', '#', ')', 'A', 'C'), ('(', 'B', '#', ')', 'C', 'A'), ('(', 'C', 'A', 'B', '#', ')'), ('(', 'C', 'A', ')', '#', 'B'), ('(', 'C', 'A', '#', 'B', ')'), ('(', 'C', 'A', '#', ')', 'B'), ('(', 'C', 'B', 'A', '#', ')'), ('(', 'C', 'B', ')', '#', 'A'), ('(', 'C', 'B', '#', 'A', ')'), ('(', 'C', 'B', '#', ')', 'A'), ('(', 'C', ')', 'A', '#', 'B'), ('(', 'C', ')', 'B', '#', 'A'), ('(', 'C', ')', '#', 'A', 'B'), ('(', 'C', ')', '#', 'B', 'A'), ('(', 'C', '#', 'A', 'B', ')'), ('(', 'C', '#', 'A', ')', 'B'), ('(', 'C', '#', 'B', 'A', ')'), ('(', 'C', '#', 'B', ')', 'A'), ('(', 'C', '#', ')', 'A', 'B'), ('(', 'C', '#', ')', 'B', 'A'), ('(', ')', 'A', 'B', '#', 'C'), ('(', ')', 'A', 'C', '#', 'B'), ('(', ')', 'A', '#', 'B', 'C'), ('(', ')', 'A', '#', 'C', 'B'), ('(', ')', 'B', 'A', '#', 'C'), ('(', ')', 'B', 'C', '#', 'A'), ('(', ')', 'B', '#', 'A', 'C'), ('(', ')', 'B', '#', 'C', 'A'), ('(', ')', 'C', 'A', '#', 'B'), ('(', ')', 'C', 'B', '#', 'A'), ('(', ')', 'C', '#', 'A', 'B'), ('(', ')', 'C', '#', 'B', 'A'), ('(', ')', '#', 'A', 'B', 'C'), ('(', ')', '#', 'A', 'C', 'B'), ('(', ')', '#', 'B', 'A', 'C'), ('(', ')', '#', 'B', 'C', 'A'), ('(', ')', '#', 'C', 'A', 'B'), ('(', ')', '#', 'C', 'B', 'A'), ('(', '#', 'A', 'B', 'C', ')'), ('(', '#', 'A', 'B', ')', 'C'), ('(', '#', 'A', 'C', 'B', ')'), ('(', '#', 'A', 'C', ')', 'B'), ('(', '#', 'A', ')', 'B', 'C'), ('(', '#', 'A', ')', 'C', 'B'), ('(', '#', 'B', 'A', 'C', ')'), ('(', '#', 'B', 'A', ')', 'C'), ('(', '#', 'B', 'C', 'A', ')'), ('(', '#', 'B', 'C', ')', 'A'), ('(', '#', 'B', ')', 'A', 'C'), ('(', '#', 'B', ')', 'C', 'A'), ('(', '#', 'C', 'A', 'B', ')'), ('(', '#', 'C', 'A', ')', 'B'), ('(', '#', 'C', 'B', 'A', ')'), ('(', '#', 'C', 'B', ')', 'A'), ('(', '#', 'C', ')', 'A', 'B'), ('(', '#', 'C', ')', 'B', 'A'), ('(', '#', ')', 'A', 'B', 'C'), ('(', '#', ')', 'A', 'C', 'B'), ('(', '#', ')', 'B', 'A', 'C'), ('(', '#', ')', 'B', 'C', 'A'), ('(', '#', ')', 'C', 'A', 'B'), ('(', '#', ')', 'C', 'B', 'A')]

现在列表的大小是从20k到9k图表"的一半.

Now the list is half in size "9k chart from 20k".

ps:现在,我该如何删除("A","B","C",(",)",#")此

ps: Now, how do i remove ('A', 'B', 'C', '(', ')', '#') this

我需要在迭代器迭代"过程中执行此操作.所以我没有太多的内存转储... 12个数字的情况真的很快达到了300mb,因此我需要从可能的组合池中消除这种组合.

I need to do this operations while the "iterator iterates" so I don't have a big memory dump... The case with 12 numbers reach 300mb really quickly so I need to eliminate this combination from the pool of possible combinations.

最终获得:

[(("A","#","B"),"C"),("A","#","(","B",")","C"),("A","(","B",")","#","C"),("(""A",")","B","#","C")] etc.

没有任何(",#"和#",)".

Without any "(","#" and "#",")".

如何有效地获得此结果?

How can I get this result efficiently?

推荐答案

我认为没有必要构建第一个列表(它会过大).您可以一步一步生成过滤列表.

I think is not necessary to build the first list (it will be oversized). You can produce filtered list in one step.

from itertools import permutations
ListX=["A","B","C","(",")","#"]

flt = lambda tpl: not tpl[0] in (')','#')

clean_list = [x for x in permutations(ListX) if flt(x)]

HIT

如果您需要遍历值,则可以使用另一个迭代器来完成,以便遍历每条记录而无需为所有内存分配内存:

If you need to iterate over values, it can be done using another iterator in order to step over each record without allorate memory for all:

iter_on = (x for x in permutations(ListX) if flt(x))

这篇关于如何浏览itertools的排列?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆