Fac*_*ndo 1 python random combinations dictionary words
我正在制作一个程序,您可以在其中插入一些字母,然后输出是这些字母的所有可能组合。
例如:如果输入是“ABC”,则输出应该是“A”、“B”、“C”、“AB”、“AC”、“BC”、“ABC”、“ACB”等等。 .
最后,我的想法是将所有这些组合放在一个集合中,以便它可以与另一个包含某个英语单词词典的集合相交,该集合是理想的输出
到目前为止,我的脚本是这样的:
import random
p = list(raw_input('Insert some letters: '))
p2 = []
p3 = []
for j in range((len(p))):
p2.append(p[j])
for i in range(len(p)):
a = random.sample(p2,len(p))
p3.append(str("".join(a)))
print p3[]
Run Code Online (Sandbox Code Playgroud)
显然,有一些错误并且不完整。你能帮我完成或告诉我应该走哪条路吗?谢谢阅读
如果您不在乎顺序,那么您正在寻找组合。您可以itertools.combination为此使用:
import itertools
items = 'ABC'
for i in range(len(items)+1):
for combination in itertools.combinations('ABC', i):
print(combination)
Run Code Online (Sandbox Code Playgroud)
列表理解版本:
[combination for i in range(len(items)+1) for combination in itertools.combinations('ABC', i)]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
14475 次 |
| 最近记录: |