天天看点

在列表中查找列表

对于python的列表,我们通常要读取里面的内容一般使用for循环或者while循环,对于一般的列表这可以,但是如果是列表中嵌套了列表的话,那么我们就无法直接得到列表中的元素了,比如:

movies=["1","2","3",["4",["5","6"]]]的话,如果用for循环就不好用了,此时我们需要用if else语句来判断碰到的元素是否为列表,如果是列表的话那么就进行进一步的处理,而python这么语言本身能够帮我们这个忙,大家应该都知道bif即built-in function即内置函数,这是python已经写好的方便我们使用的函数,这里有一个isinstance()函数,它能够判断某个变量是否是某种类型的实例,说到这里,其实想起来了java当中也有这样一个东西,但是并不是函数,而是为操作符,类似于加减乘除,比如Flight f = new Flight();boolean b = f instanceof Flight;其他语言肯定也存在类似的函数或者操作符,那么在python中,我们举一个例子,names=["michael","jordan"] isinstance(names,list)值为true,所以使用这个可以实现,但是看了下书本的例子,使用两重的循环,这个不太准确,因为列表的嵌套可能许多层,所以,如果有无数多的嵌套肿么办?

这里只能采用while循环了,这是我第一下想到的思路,可是不好办啊,书上给了一个思路,函数啊!

这明显是递归函数的例子!写一个处理list的函数:

def print_list(the_list):

   for i in the_list:

       if(isinstance(i,list)):

           print_list(i)

       else: