可以说我有一个递归函数,可以在列表中创建列表。它返回沿着线的东西:递归函数
['a', ['b', ['c', ['d', []]]], 'z', []]
让我们把这个列表LIST1
然后,我有一个函数,该列表中,并且清除它对于我来说,基本不除去z.Lets调用这个名单列表2
[a,b,c,d]
我能做些什么,是叫我的第一功能和接收我的列表,然后(同时在Python壳)叫我清理功能上LIST1将其转换为列表2。我想要做的就是在LIST1返回时立即进行清理,基本上在我的清单生成器函数中进行清理操作。
我很困惑我应该如何调用一个函数来改变递归函数的结果而不用搞砸递归函数。
我不想进入我的代码的细节,因为它相当复杂并且嵌套很深,但是如果你想让我澄清,请提出问题。
如果它有助于将问题形象化,可以用简单的语言想象一下。我有一个函数返回一个值,我想要另一个函数来操作该值,但在第一个函数内。
干杯,
我试过回报清理(resultlist),但我没有得到任何东西。 – Unknown 2012-03-27 07:42:23
对不起,如果它含糊不清,但我被批评我的函数嵌套很差,而且我想知道在后者函数中,另一个函数的返回值调用另一个函数的一般概念是什么。 – Unknown 2012-03-27 07:46:36
保留递归的非清理版本。在Python提示符下,@Daniel显示你的方式只调用一次'cleanup'。 – alexis 2012-03-27 10:37:27