在python中编写跟踪细菌谱系的函数
我正在处理生物学数据,跟踪细胞分裂。现在我想为每个细胞建立一个谱系列表。对于所有的细胞,我在列表中存储了细胞编号和产生它的母亲,见下文。如果母细胞_nb=0,则表示它们是原始细胞 现在我要做的是创建一个函数,以便它返回一个完整的沿袭列表,如下所示:在python中编写跟踪细菌谱系的函数,python,function,Python,Function,我正在处理生物学数据,跟踪细胞分裂。现在我想为每个细胞建立一个谱系列表。对于所有的细胞,我在列表中存储了细胞编号和产生它的母亲,见下文。如果母细胞_nb=0,则表示它们是原始细胞 现在我要做的是创建一个函数,以便它返回一个完整的沿袭列表,如下所示: def find_lineage(cell_nb, full_ancestry): (code goes here) returns lineage 因此,当我运行这个函数时,可以找到完整的祖先 我有一张单子 [11,1,0] 如果完
def find_lineage(cell_nb, full_ancestry):
(code goes here)
returns lineage
因此,当我运行这个函数时,可以找到完整的祖先
我有一张单子
[11,1,0]
如果完整祖先是一个按单元格编号的递增顺序排序的列表,并且没有跳过任何数字,那么下面的方法将起作用
def查找血统细胞nb,完整血统:
祖先=[]
而cell_nb:
cell_nb=完整的祖先[cell_nb-1]['母亲]
祖细胞
返祖
printfind_血统13,完整的_血统
输出:
[11, 1, 0]
[11, 1, 0]
如果列表项可以按任意顺序排列,请考虑创建一个映射并使用它。
祖先图={} 对于完整的祖先: 祖先地图[祖先['cell\u nb']]=祖先['mother\u nb'] def查找沿袭细胞,祖先地图: 祖先=[] 而cell_nb: cell_nb=祖先地图[cell_nb] 祖细胞 返祖 打印查找血统13,祖先地图 输出:[11, 1, 0]
[11, 1, 0]
所以不是一个免费的编码网站。请尝试一下。谢谢你的反馈。我花了几个小时试图解决这个问题,但都没能解决。我确实写了一个递归函数,它在非常有限的条件下工作。我决定不在这里发布我自己的代码,因为我认为这会有损于这个问题。恰恰相反。放下一次失败的尝试总比没有好。下次我会的。感谢您帮助我改进我的SO问题。