abcdefgh"里面挑出3个字母进行组合

"abcdefgh"里面挑出3个字母进行组合,一共有多少种组合,要求三个字母中不能有任何重复的字母,三个字母的同时出现次数,在所有组合中只能出现一次,例如出现abc了,不能出现cab和bca等。

#判断新生成的结果在已生成的结果中,是否存在,如果存在,就不添加,如果不存在,就添加的结果列表中


result  = []

for i in "abcdefgh":

    for j in "abcdefgh":

        for m in "abcdefgh":

            s = i+j+m

            if s.count(i) >1 or s.count(j)>1 or s.count(m)>1:    #每个组合中不能有重复的字母

                continue

            if sorted(list(s)) not in list(map(lambda x:sorted(list(x)),result)):#组合之间不能相同

                result.append(s)

print (len(result))

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容