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))