我尝试从多个列表中生成元素的组合,其中顺序非常重要
例如:
list1_mand = ['x', 'y']
list2 = ['a', 'b', 'c']
list3 = ['1', '2', '3']
list4_mand = ['A', 'B', 'C']
list5 = ['X', 'Y', 'Z']
代码应该能够执行以下操作:
例如: “xa1AX”是有效输出,而“axXA1”不是
例如: “xAX”是有效的输出,而“a1AX”不是(跳过list1\u mand中的元素)
考虑到上述三个约束,如何使用itertools包生成所需的输出
这是你想要的。棘手的部分是能够省略非强制列表,但为此,有一个解决方法1
不管是哪种方式,这里是第一个产生的:
1通过在非强制列表中添加
""
,结果将包含该内容,因此,例如'xA'
也将yield
化(最终)2注意
res
列表的长度将是变通修改后初始列表长度的乘积。在这种情况下,它是384(=2x4x3x4),这是小的,但请记住,万一你决定去大相关问题 更多 >
编程相关推荐