Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/22.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 - Fatal编程技术网

python中用于组合的枚举

python中用于组合的枚举,python,Python,我的意见如下: T A G C 2 我希望我的输出像这样 TT TA TG TC AT AA AG AC GT GA GG GC CT CA CG CC 如果我在输入中用3代替2,则输出应如下所示: TTT TTA TTG TTC TAT TAA TAG TAC ... ... and so on.... 我已经编写了代码,但我不知道接下来该怎么做: data=open('D:\python\input.txt') a=data.read().split('\n') resu

我的意见如下:

T A G C  
2  
我希望我的输出像这样

TT
TA
TG
TC
AT
AA
AG
AC
GT
GA
GG
GC
CT
CA
CG
CC   
如果我在输入中用3代替2,则输出应如下所示:

TTT
TTA
TTG
TTC
TAT
TAA
TAG
TAC
...
...
and so on....
我已经编写了代码,但我不知道接下来该怎么做:

data=open('D:\python\input.txt')
a=data.read().split('\n')
result=[]
symbol=a[0]
integer=a[1]

if integer==0:
   result.append(None)
for s in symbol: 
我不知道这之后该怎么办……

您可以使用,使用
重复
n

from itertools import product

n = 2
l = ["T","A","G","C"]

for prod in (product(l,repeat=n)): 
    print("".join(prod))
TT
TA
TG
TC
AT
AA
AG
AC
GT
GA
GG
GC
CT
CA
CG
CC
您还应使用
打开文件,自动关闭文件,并使用原始字符串
r
作为文件路径或
/“s
。您需要将每一行拆分为单独的元素,然后可以使用
itertools.chain.from\u iterable
连接所有元素并创建产品:

from itertools import product, chain
n = 3
with open(r'D:\python\input.txt') as data:  # <- raw string "r" 
    symbols = chain.from_iterable(x.split() for x in data)
    for prod in product(symbols,repeat=n):
        print("".join(prod))

TTT
TTA
TTG
TTC
TAT
TAA
.......................

你能告诉我重复的问题在哪里吗?它被添加到你问题顶部的一个黄色框中。但它也在这里:我检查了答案,但它是不同的。我现在得到的答案。。在这一点上,你只给出了T A G C.的答案。。但它可以更多…我将它保存在列表中,但没有得到answer@shahbazkhan,是的,因为这是一个例子。我不知道你有什么数据,所以很难做任何其他事情,如果你显示文件内容的确切外观,这将有助于我在开始提问时给出它。。我的输入文件是什么样子的…它是一个文本文件..好吧,如果它看起来都是这样,那么编辑就可以了
with open(r'D:\python\input.txt') as data:
    symbols = []
    for line in data:
        symbols.extend(line.split())
    for prod in product(symbols, repeat=n):
        print("".join(prod))