Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在python中查找字符串中所有可能的字母组合_Python_String_Substring - Fatal编程技术网

在python中查找字符串中所有可能的字母组合

在python中查找字符串中所有可能的字母组合,python,string,substring,Python,String,Substring,我有一个python字符串, 我需要找到所有可能的方法,包括字符串的任何子字符串本身 可以选择。就我而言,子字符串在原始字符串中不必是连续的,它可以有间隙。 根据这个定义,蛙人是“蛙人”的众多子串之一 例如,将要执行的功能: 如果我的字符串为abcd,则输出应为: ["a","b","c","d","ab","ac","ad","bc","bd","cd","abc","abd","acd","bcd","abcd"] 您的示例输入/输出表明您正在寻找一个。你可以: 输出 注意:输出包括空字符

我有一个python字符串, 我需要找到所有可能的方法,包括字符串的任何子字符串本身 可以选择。就我而言,子字符串在原始字符串中不必是连续的,它可以有间隙。 根据这个定义,蛙人是“蛙人”的众多子串之一

例如,将要执行的功能: 如果我的字符串为abcd,则输出应为:

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

您的示例输入/输出表明您正在寻找一个。你可以:

输出
注意:输出包括空字符串。

提示:查看:listmap.join,powerset'abcd'@J.F.Sebastian我认为您的解决方案还包括'ac',因为选项可能是错误的。@user2539336:查看问题'ac'中的预期输出。正确的术语应该是subsequence,而不是substring。这个问题不太广泛。在Meta上也有讨论:
from itertools import chain, combinations

def powerset(iterable):
    "powerset([1,2,3]) --> () (1,) (2,) (3,) (1,2) (1,3) (2,3) (1,2,3)"
    s = list(iterable)
    return chain.from_iterable(combinations(s, r) for r in range(len(s)+1))

print(list(map(''.join, powerset('abcd'))))
['',
 'a',
 'b',
 'c',
 'd',
 'ab',
 'ac',
 'ad',
 'bc',
 'bd',
 'cd',
 'abc',
 'abd',
 'acd',
 'bcd',
 'abcd']