【发布时间】:2014-01-27 14:21:04
【问题描述】:
所以基本上我无法理解这两个概念。我已经用谷歌搜索了 2 天,并与这 2 天一起玩,为自己创建了某种图片,但它仍然像我并不真正了解一切。 据我了解,如果您需要处理多级列表,则 isinstance 用作递归的基础,它根据元素是否返回 true 或 false?属于上述类型。 问题是我知道它的定义,但我根本无法让自己理解它是如何真正工作的,以便实际使用它。我想我会放一个示例代码,也许你们中的一些人可以彻底解释这个函数是如何在每个细节上工作的。这里是:
def first_and_last(a):
if not (isinstance(a,list)):
return a
elif a == []:
return []
else:
return [first_and_last(a[0]), first_and_last(a[-1])]
print(first_and_last([[1, 2, 3, [3, 3, 4, 5]], 6, 7, 7]))
基本上该代码是老师共享的,但代码的想法是返回列表每个级别的第一个和最后一个元素。
【问题讨论】:
标签: python recursion python-3.x isinstance