大家有没有遇到过这样的一个问题,遍历多维数字列表,将所有偶数添加到新列表中,先想一想我们要怎么做?利用哪一种函数可以实现?相信大家心里都有答案了吧,有没有小伙伴和小编一样,使用递归函数即可解决的呢?如果有,那就看下是否和我的操作一样,或者看下谁的操作更好吧~
需求:遍历多维数字列表,偶数添加到新列表中。
listv = [1,2,3,[4,6,7,8,[10,21,22]]]
代码实现:
def findEven(src,dest): for item in src: if isinstance(item, list): #当前元素为列表,继续调用 findEven(item, dest) elif item%2==0:#求余 dest.append(item) listv = [1,2,3,[4,6,7,8,[10,21,22]]] dest = [] findEven(listv, dest) print(dest)
结果:
[2, 4, 6, 8, 10, 22]
小编给大家总结下学习关于递归函数要点,首先是自己调用自己,其次是注意结束条件与调用深度,这样我们才可以灵活掌控递归函数哦~