创建字符串Python的所有可能变体
我遇到了一个问题,我需要创建一个字符串所有可能变化的列表。我已经在itertools中尝试了一些方法,比如创建字符串Python的所有可能变体,python,string,combinations,permutation,itertools,Python,String,Combinations,Permutation,Itertools,我遇到了一个问题,我需要创建一个字符串所有可能变化的列表。我已经在itertools中尝试了一些方法,比如[''.join(I)for I in itertools.permutations('abc')]或 (comb=[''.join(i)for i in itertools.compositions_with_replacement('abc',3)]但正如我所期望的那样,它们的结果有点不同。我需要所有的变化,所以置换不是解决问题的方法。带有置换的组合非常好,但缺少一些子序列 此操作的结果
[''.join(I)for I in itertools.permutations('abc')]
或
(comb=[''.join(i)for i in itertools.compositions_with_replacement('abc',3)]
但正如我所期望的那样,它们的结果有点不同。我需要所有的变化,所以置换不是解决问题的方法。带有置换的组合非常好,但缺少一些子序列
此操作的结果是:
aab
aac
abb
abc
acc
bbb
bbc
bcc
ccc
但我还需要输出“aba”、“acb”、“bab”等(需要涵盖所有可能的变体)
也许我错过了itertools中的另一种方法,那会对我有帮助吗?
感谢您提供的任何帮助和建议您使用的
itertools.product
具有与字符串大小相同的iterables:
来自itertools导入产品的
s='abc'
ss=[s]*len(s)
对于产品(*ss)中的r:
打印(“”.连接(r))
aaa
aab
aac
阿巴
神甫
abc
aca
acb
行政协调会
咩
巴布
美国银行
工商管理学士
bbb
英国广播公司
bca
bcb
密件抄送
民航局
驾驶室
cac
中国篮球协会
cbb
cbc
共同国家评估
建设银行
ccc
您使用的itertools.product
的iterables数量与字符串大小相同:
来自itertools导入产品的
s='abc'
ss=[s]*len(s)
对于产品(*ss)中的r:
打印(“”.连接(r))
aaa
aab
aac
阿巴
神甫
abc
aca
acb
行政协调会
咩
巴布
美国银行
工商管理学士
bbb
英国广播公司
bca
bcb
密件抄送
民航局
驾驶室
cac
中国篮球协会
cbb
cbc
共同国家评估
建设银行
ccc
您是否尝试过使用替换组合获取每个产品的所有排列?您是否尝试过使用替换组合获取每个产品的所有排列?产品
允许您使用更简单的:对于产品中的r,重复=len(s)):
产品
允许您使用更简单的:对于产品中的r,重复=len(s)):