我使用递归函数创建一个通过迷宫的流动路径。该函数返回正确的路径元组(row,col),但我需要以元组列表的形式提供它。例如,我需要创建这个表单
[(0,0),(1,1),(2,2),(3,3),(4,3)]
但是函数返回:
^{pr2}$函数如下:
def FlowPathAt(fdir,row,col):
lItem = FlowOut(fdir,row,col)
if not lItem:
return (row,col)
else:
r,c = lItem
return [(row,col) , FlowPathAt(fdir,r,c)]
FlowOut(fdir,row,col)
是一个函数,返回从(行,列)开始的下一个单元格地址
在构建过程中有什么方法可以使这个列表变平吗?在
试试这个:
(这也总是返回一个元组的列表,这似乎比有时返回一个列表有时返回一个元组更好。如果不能接受,则需要进行一些后处理。)
对于列表增长,这需要大量内存管理,为什么不将其重构为生成器函数:
相关问题 更多 >
编程相关推荐