在列表中查找列表并取出元素

举例:var_list 是一个多层嵌套列表

var_list = [1,2,[3,4,[5,6,7,[8,9]]]]

试试for循环来遍历列表中的元素吧

>>> for var in var_list:  print(var)

    print(var)

1

2

[3, 4, [5, 6, 7, [8, 9]]]

结果好像不是我们想要的那样,试试这样。

var_list = [1,2,[3,4,[5,6,7,[8,9]]]]
for var in var_list:
    if isinstance(var, list):
        for var2 in var:
            if isinstance(var2,list):
                for var3 in var2:
                    if isinstance(var3,list):
                        for var4 in var3:
                            print(var4)
                    else:
                        print(var3)
            else:
                print(var2)
    else:
        print(var)
for var in var_list:
    if type(var)==list:
        for var2 in var:
            if type(var2)==list:
                for var3 in var2:
                    if type(var3)==list:
                        for var4 in var3:
                            print(var4)
                    else:
                        print(var3)
            else:
                print(var2)
    else:
        print(var)

#有多少层嵌套就需要多少个if...else...判断语句。

type()与isinstance()的区别

type() 不会认为子类是一种父类类型,不考虑继承关系。

isinstance() 会认为子类是一种父类类型,考虑继承关系。

如果要判断两个类型是否相同推荐使用 isinstance()。

猜你喜欢

转载自www.cnblogs.com/zujianke/p/9713786.html