我有一个列表 [".","_","<<",">>"]
我需要的是获取所有长度为 4 的字符串以及所有可能的组合,其中每个字符都是上述列表之一。
例子: "._<<>>","__<<>>",".<<<<>>" ... etc
现在我正在做 4 的长度:
mylist = [".","_","<<",">>"]
for c1 in mylist:
for c2 in mylist:
for c3 in mylist:
for c4 in mylist:
print "".join([c1,c2,c3,c4])
但这看起来很难看,如果我需要将其扩展到 10 或更多的长度怎么办?
请您参考如下方法:
使用itertools.product()为您生成组合,无需嵌套循环:
from itertools import product
mylist = [".", "_", "<<", ">>"]
length = 4
for chars in product(mylist, repeat=length):
print ''.join(chars)
只需调整 length 变量即可获得更长的组合。
