- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正在尝试构建一个函数,该函数从字母列表(DNA 碱基)中返回或生成 k-mers 列表。 K 将代表 k-mers 的长度(或顺序)。
我已经制作了这个功能,可以将所需的结果打印到屏幕上。关键是我无法让函数返回这些值。
def function(k,y=''):
letters=['A','C','T','G']
if k==0:
print(y)
else:
for m in letters:
kmer=m+y
function(k-1,kmer)
虽然我已经返回一个列表或产生 k-mers,但没有一个选项有效。当我更改 yield 或 return 的打印时,该函数返回 None。
这可能是一个概念错误,我只是出于生物学背景而理解递归函数。
提前致谢。
最佳答案
诀窍是在递归调用中使用 yield from
(需要 Python 3.3+):
def function(k, y=''):
if k==0:
yield y
else:
for m in ['A','C','T','G']:
yield from function(k-1, m+y)
测试:
>>> [x for x in function(2)]
['AA', 'CA', 'TA', 'GA', 'AC', 'CC', 'TC', 'GC', 'AT', 'CT', 'TT', 'GT', 'AG', 'CG', 'TG', 'GG']
关于python - 使用递归从 python 中的单体列表生成 k-mers,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35386119/
现在我需要确切地知道如何在需要时立即部署基于微服务的后端?我可以自己管理所有技术的集成,但是在 AWS 上托管时,我不可能获得这么多实例,而且现在也买不起。 我正在考虑从单一后端开始的想法,同时有可能
我有一个使用 spring 3.1 和 spring-security 3.1 以及 Java 7 开发的整体式 Spring Web 应用程序,并将其部署在 tomcat 7 上。 现在我有一个新要
在他的Monad Reader article on Hoogle第 33 页,Neil Mitchell 提倡将 Haskell 项目捆绑到一个具有多种模式的可执行文件中。 (仅供引用,Neil M
我有一个单进程有 5 个线程的单体应用程序。每个线程完成某些特定任务。考虑使用 docker 将此应用程序移动到微服务。如果我看一下架构,每个工作线程都会变成一个 docker 进程。因此,在某种程度
我知道有人问过很多类似的问题,但我还没有看到对链接和管理样式的所有三种可能方法的比较。哪个是浏览性能最好和最差的?我知道 推荐超过@import因为它允许并行下载,但我也听说单个大型 CSS 优于 正
多年来,我的目标是从 ASP/VBScript 转向“更好”的语言——我的偏好是 C#,因为我有 C 技能——但我也会考虑其他语言(包括 PHP 等,所以不仅仅是 DotNet ) 目标是使用一种对我
我是一名优秀的程序员,十分优秀!