【问题标题】:How to skim itertools permutations?如何浏览 itertools 排列?
【发布时间】:2021-06-15 10:46:16
【问题描述】:

初始代码:

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'),]

现在我想删除以“)”或“#”开头的所有内容

并以 "(" 或 "#" 结尾 并包含 "(","#",")"

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 图表”的一半。

ps: 现在,我如何删除 ('A', 'B', 'C', '(', ')', '#') 这个

我需要在“迭代器迭代”时执行此操作,所以我没有大的内存转储...... 12 个数字的情况很快达到 300mb,所以我需要从可能的组合池中消除这种组合.

最终得到:

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

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

我怎样才能有效地得到这个结果?

【问题讨论】:

    标签: python performance iterator permutation


    【解决方案1】:

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

    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)]
    
    

    命中

    如果您需要迭代值,可以使用另一个迭代器来完成,以便在不为所有记录分配内存的情况下遍历每条记录:

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

    【讨论】:

    • 还是不解决('(', '#', ')', 'C', 'B', 'A')
    • 似乎要求发生了变化,此解决方案仅排除以')'或'#'开头的解决方案,因此这是有效的。您可以更改过滤器以获得所需的解决方案。类似于: flt = lambda tpl: not any((tpl[0] in (')','#'),(tpl[-1] in (')','#')) , )
    • flt2 = lambda tpl: not any((tpl[0] in (')','#'),(tpl[0] in (')','#')), tpl[0] in (')','('), tpl[-1] in ('(',')'))) clean_list2 = [x for x in permutations(ListX) if flt2(x)] 我试图宣传其他条件,例如是否有 () 两个匹配的括号或两个 )( 不匹配的括号,但我不工作你有一些来源吗?可以学习吗?
    • 尝试在 at 处添加一个条件,并将所有条件放在 any(cond,cond,cond) 语法中
    • flt = lambda tpl: not any(((tpl[0] in ("#")),(tpl[0] in (")")),(tpl[-1] in ("#")),(tpl[0] in ("(")),(False),(False))) 我理解任何“现在我知道如何添加单个条件 ecc.. 但我不明白如何在知道列表长度的情况下检查列表”的工作原理跨度>
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-02-10
    • 1970-01-01
    • 1970-01-01
    • 2012-08-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多