我有一个字符串,我想找到长度为1..n的每一个可能的子集的每一个可能的子集。
例
由于字符串 “abc” 和n=3
,我想产生以下列表:
{"a", "b", "c", "aa", "ab", "ac", "ba", ..., "aaa", "aab", "aac", "aba" ..., "ccc"}
我尝试
...是痛苦的新手。每n
一个循环,嵌套n
次。
n = 3时,我有:
characters = "abcdef" # and so on
for char in characters:
print(char)
for char1 in characters:
for char2 in characters:
print(str(char1) + str(char2))
for char1 in characters:
for char2 in characters:
for char3 in characters:
print(str(char1) + str(char2) + str(char3))
正如你所看到的,这是不可扩展的,至少可以说。有没有一个很好的方法来做到这一点?任何复杂度的减少也会很酷,尽管我很难想象任何东西。
呃,你可以使用['itertools'](https://docs.python.org/2/library/itertools.html)中的东西吗? – NightShadeQueen