zoukankan      html  css  js  c++  java
  • python学习-isinstance()

    isinstance()是一个内置的函数(BIF)。

    它允许某个特定标识符是否包含某个特定类型的数据

    如判断某个对象是不是列表、字典、整型等

    >>> a = [1,2,3]
    >>> b = 123
    >>> c = {1:2,2:3}
    >>> isinstance(a,list)
    True
    >>> isinstance(a,dict)
    False
    >>> isinstance(b,int)
    True
    >>> isinstance(c,dict)
    True
    >>>

    实例:打印一个包含嵌套列表的列表的所有数据

     1 a = [1,2,'c','b',['d',[5,6,[7,8]]],[3,4]]
     2 for i in a:
     3     while isinstance(i,list):
     4         for j in i:
     5             if isinstance(j,list) is False:
     6                 print(j)
     7             else:
     8                 i = j
     9                 break   #跳出最里层的for循环,执行while循环,否则,for循环走完,就会走最下面break,跳出整个while了
    10         else:
    11             break   #跳出while循环,不然i由于一直是列表,那么就不停执行最里面的for循环,打印3,4
    12     else:
    13         print(i)

    结果:

    1
    2
    c
    b
    d
    5
    6
    7
    8
    3
    4

    补充:上面的功能也可以用递归函数解决,更加简洁

    1 def list_cont(list_name):
    2     for i in list_name:
    3         if isinstance(i,list):
    4             list_cont(i)
    5         else:
    6             print(i)

     继续扩展(列表中的第一层打印时不缩进,第二层缩进一个Tab,依次类推)

    1 def list_cont(list_name,level = 0):#默认第一次缩进0个Tab
    2     # level = 0
    3     for i in list_name:
    4         if isinstance(i,list):
    5             list_cont(i,level+1)
    6         else:
    7             print('%s%s'%('	'*level,i))
    8 a = [1,2,'c','b',['d',[5,6,[7,8]]],[3,4]]
    9 list_cont(a)

    结果

     1 1
     2 2
     3 c
     4 b
     5     d
     6         5
     7         6
     8             7
     9             8
    10     3
    11     4
  • 相关阅读:
    事件委托,元素节点操作,todolist计划列表实例
    事件冒泡
    jquery事件三 -- load(), ready(), resize()以及bind()事件
    jquery事件二 -- 选项卡,失去焦点
    jqury动画,循环
    jquery事件一 ---鼠标移入移出
    例子2--定时器之无缝滚动
    例子3--元素绝对位置以及置顶菜单
    例子1--手风琴
    jquery之链式调用,层级菜单
  • 原文地址:https://www.cnblogs.com/cq90/p/6882982.html
Copyright © 2011-2022 走看看