下面是我的DNA串相邻问题的代码:
chars = "ACGT"
def neighbors(pattern, d):
assert(d <= len(pattern))
if d == 0:
return [pattern]
r2 = neighbors(pattern[1:], d-1)
r = [c + r3 for r3 in r2 for c in chars if c != pattern[0]]
if (d < len(pattern)):
r2 = neighbors(pattern[1:], d)
r += [pattern[0] + r3 for r3 in r2]
return r
def neighbors2(pattern, d):
return ([neighbors(pattern, d2) for d2 in range(d + 1)], [])
print (neighbors2("ACG", 1))
输出如下:
^{pr2}$如何添加一些代码并将输出更改为这种模式:
CCG
TCG
GCG
AAG
ATG
AGG
ACA
ACC
ACT
ACG
您可以从编译器.ast模块
会产生
^{pr2}$或者
要获得这样的输出:
有几种方法可以做到这一点,你可以打印每一个,制作一个大字符串并打印它,使用print函数的
sep
参数,使一个表示你的东西的类成为一个定义的__str__
方法,该方法返回你想要的字符串。在例如
打印每个
^{pr2}$做一根大绳子
使用sep和拆包
使用类
为了从},你可以使用这个Flatten (an irregular) list of lists in Python的答案,例如,unutbu的答案是我最喜欢的
([['ACG'], ['CCG', 'GCG', 'TCG', 'AAG', 'AGG', 'ATG', 'ACA', 'ACC', 'ACT']], [])
到{然后去做
如果您只想打印并且嵌套级别始终相同,可以执行以下操作:
输出:
^{pr2}$相关问题 更多 >
编程相关推荐