码迷,mamicode.com
首页 > 其他好文 > 详细

二、推导式/自省

时间:2020-12-01 12:25:48      阅读:7      评论:0      收藏:0      [点我收藏+]

标签:st3   部分   enumerate   应用   存在   data   font   特定   用法   

一、列表推导式

如何生成一个[data0、data1、data2.....data99]的列表??

循环方法:

list1=[]
for i in range(100):
    list1.append(data{}.format(i))
print("list1的值为:",list1)

用列表推导式:

list2 = ["data{}".format(i) for i in range(100)]
print(my_list1)

eg:1-100能被3整除但是不能被2整除的数

list3 = [i for i in range(100) if not(i % 3) and (i % 2)] 
print(list3)  
#结果
[3, 9, 15, 21, 27, 33, 39, 45, 51, 57, 63, 69, 75, 81, 87, 93, 99]

 二、字典推导式

有一个列表li,把他转成一个元素为下标为键,值为元素值的字典格式的数据
li = [‘a‘,‘b‘,‘c‘,‘d‘,‘e‘,‘f‘,‘g‘]

#循环方法:
dict1={}
for i,j in enumerate(li):
    dict1[i]=j
print(dict1)
#推导式方式:
print({i:j for i,j in enumerate(li)})
结果:
{0: a, 1: b, 2: c, 3: d, 4: e, 5: f, 6: g}

将下面字符串格式的数据,改成字典类型的数据
str="name=zjx;age=18;sex=girl;tel=18822113232"

#推导式:
dict1={item.split("=")[0]:item.split("=")[1] for item in str.split(";")}
print(dict1)

三、自省

 
自省就是程序运行时能够知道对象的类型, Python中比较常见的自省(introspection)机制(函数用法)有: dir(),type(), hasattr(), isinstance(),通过这些函数,我们能够在程序运行时得知对象的类型,判断对象是否存在某个属性,访问对象的属性。
dir()
dir() 函数可能是 Python 自省机制中最著名的部分了。它返回传递给它的任何对象的属性名称经过排序的列表。如果不指定对象,则 dir() 返回当前作用域中的名称。让我们将 dir() 函数应用于 keyword 模块,并观察它揭示了什么:
>>> import keyword
>>> dir(keyword)
[__all__, __builtins__, __doc__, __file__, __name__, __package__, iskeyword, kwlist, main]
type()
type() 函数有助于我们确定对象是字符串还是整数,或是其它类型的对象。它通过返回类型对象来做到这一点,可以将这个类型对象与 types 模块中定义的类型相比较:
>>> type(42)<class int>
>>> type([])<class list>
isinstance()
可以使用 isinstance() 函数测试对象,以确定它是否是某个特定类型或定制类的实例:
>>> isinstance("python", str)
True

 

二、推导式/自省

标签:st3   部分   enumerate   应用   存在   data   font   特定   用法   

原文地址:https://www.cnblogs.com/zhangjx2457/p/14026976.html

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