Python 字符串的子集

Python 字符串的子集,python,string,list,subset,Python,String,List,Subset,我试图得到一个字符串的每个子集,却不知道该怎么做。如果有人能帮我,那就太好了 >>> string('ab') a, b >>> string('abc') a, b, c, ab, ac, bc, >>> string('abcd') a, b, c, d, ab, bc, cd, da, abc, bcd, cda, dab, 这些都必须在列表中,并且字符串中可能有n个字符。程序应该返回所有可以形成的字符串子集。

我试图得到一个字符串的每个子集,却不知道该怎么做。如果有人能帮我,那就太好了

>>> string('ab')
    a, b
>>> string('abc')
    a, b, c, ab, ac, bc,
>>> string('abcd')
    a, b, c, d, ab, bc, cd, da, abc, bcd, cda, dab,
这些都必须在列表中,并且字符串中可能有n个字符。程序应该返回所有可以形成的字符串子集。

您可以这样使用和列出理解

from itertools import combinations
def myStrings(s):
    return ["".join(item) for i in range(1,len(s)) for item in combinations(s,i)]

print myStrings('ab')
print myStrings('abc')
print myStrings('abcd')
输出

['a', 'b']
['a', 'b', 'c', 'ab', 'ac', 'bc']
['a', 'b', 'c', 'd', 'ab', 'ac', 'ad', 'bc', 'bd', 'cd', 'abc', 'abd', 'acd', 'bcd']
你可以像这样使用和列出理解

from itertools import combinations
def myStrings(s):
    return ["".join(item) for i in range(1,len(s)) for item in combinations(s,i)]

print myStrings('ab')
print myStrings('abc')
print myStrings('abcd')
输出

['a', 'b']
['a', 'b', 'c', 'ab', 'ac', 'bc']
['a', 'b', 'c', 'd', 'ab', 'ac', 'ad', 'bc', 'bd', 'cd', 'abc', 'abd', 'acd', 'bcd']

返回javascript中字符串的子集

['a', 'b']
['a', 'b', 'c', 'ab', 'ac', 'bc']
['a', 'b', 'c', 'd', 'ab', 'ac', 'ad', 'bc', 'bd', 'cd', 'abc', 'abd', 'acd', 'bcd']
函数getSubset(str){ 设子集=[]; 设i,j,len=str.length;
for(i=0;i返回javascript中字符串的子集

['a', 'b']
['a', 'b', 'c', 'ab', 'ac', 'bc']
['a', 'b', 'c', 'd', 'ab', 'ac', 'ad', 'bc', 'bd', 'cd', 'abc', 'abd', 'acd', 'bcd']
函数getSubset(str){ 设子集=[]; 设i,j,len=str.length;
对于(i=0;i)您的代码返回每个子集,但您能否删除非循环的子集,如转义字符“abd”和“acd”。您的代码返回每个子集,但您能否删除非循环的子集,如转义字符“abd”和“acd”