【问题标题】:How do you generate all possible permutations in python? [duplicate]如何在 python 中生成所有可能的排列? [复制]
【发布时间】:2017-02-26 15:18:02
【问题描述】:

我正在尝试解决一个生物信息学问题。基本上,用户输入一个整数,我输出 A、C、G、T 的所有可能排列,它们是估算整数的长度。整数可以大于4。例如:

如果用户输入2,我会输出:

['AA', 'AC', 'AG', 'AT', 'CA', 'CC', 'CG', 'CT', 'GA', 'GC', 'GG', 'GT']

如果用户输入5,我会输出:

['AAAAA', 'AAAAC', 'AAAAG', 'AAAAT', 'AAACA'.....'TTTGT', 'TTTTA', 'TTTTG', 'TTTTT']

你知道如何在 python 2.7 中为此创建一个函数吗?

【问题讨论】:

标签: python python-2.7 list bioinformatics


【解决方案1】:

你需要product:

l = "ACGT"

from itertools import product    
print([''.join(s) for s in product(l, repeat=2)])
# ['AA', 'AC', 'AG', 'AT', 'CA', 'CC', 'CG', 'CT', 'GA', 'GC', 'GG', 'GT', 'TA', 'TC', 'TG', 'TT']

【讨论】:

    猜你喜欢
    • 2018-05-21
    • 1970-01-01
    • 1970-01-01
    • 2016-09-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多