Skip to main content
 首页 » 编程设计

python之获取列表中所有可能的字符组合

2025年05月04日16yxwkf

我有一个列表 [".","_","<<",">>"]

我需要的是获取所有长度为 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 变量即可获得更长的组合。