xpresslink
2018-02-01 11:28:16 +08:00
>>> from itertools import product
>>> original = [['a','b','c'],['@','#','$','%'],['1','2']]
>>> list(product(*original))
[('a', '@', '1'), ('a', '@', '2'), ('a', '#', '1'), ('a', '#', '2'), ('a', '$', '1'), ('a', '$', '2'), ('a', '%', '1'), ('a', '%', '2'), ('b', '@', '1'), ('b', '@', '2'), ('b', '#', '1'), ('b', '#', '2'), ('b', '$', '1'), ('b', '$', '2'), ('b', '%', '1'), ('b', '%', '2'), ('c', '@', '1'), ('c', '@', '2'), ('c', '#', '1'), ('c', '#', '2'), ('c', '$', '1'), ('c', '$', '2'), ('c', '%', '1'), ('c', '%', '2')]
如果 original 中的 list 元素量大,product 是个生成器,要用 for 去调用,不然内存爆菊。