码迷,mamicode.com
首页 > 编程语言 > 详细

python学习-扩展-isinstance()

时间:2017-05-20 20:36:37      阅读:173      评论:0      收藏:0      [点我收藏+]

标签:结果   break   color   标识   补充   pre   div   学习   嵌套   

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)

 

python学习-扩展-isinstance()

标签:结果   break   color   标识   补充   pre   div   学习   嵌套   

原文地址:http://www.cnblogs.com/cq90/p/6882982.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!