时间:2020-11-17 00:36:04 | 栏目:Python代码 | 点击:次
Python中的内建函数和可迭代对象,迭代器
求值标识
类型判断
例如 isinstance(True,int) #判断True是否是int类型
例如issubclass(bool,(int,str)) #判断bool是否是(int,str)其中一个的子类。
类型转换
* float() -->转换为浮点型
* int() -->转换为整形
* bin() -->转换为2进制
* hex() -->转换为16进制
* oct() -->转换为8进制
* bool() -->返回bool值
* list() --->返回列表
* tuple() --->返回元组
* dict() --->返回字典对象
* set() --->返回集合对象
* complex() --->虚数转换
* bytes() ---> 返回字节数组
* bytearry() --->返回可变的字节数组
* str() --->返回字符类型
字符转换
* chr(i)-->str #将整数转换成对应的字符
* ord(str)--->int #将字符转换成对应的整数
* repr()
* ascii()
输入输出
数学运算相关
start为初始值,即从几开始累加
例如:
sum(range(5)) #求0~4所有数的和 sum(range(5),3) # 等价于3+sum(range(5))
sorted(iterable[,key][,reverse])―>list #排序,返回一个新的列表,默认升序
revers 是反转,默认revers = False
key 解决待排序中不同类型之间的排序。key是函数(这个函数指定了数据的排序方式),这个函数就可以吧元素强制转化为你指定的类型,但转换后的结果只是用来做比较大小,不会改变最后生成的列表中的元素本身。
例如:
ls = [1,2,5,6,7,4,3,5,3] ls2 = sorted(ls) # 返回一个由ls内元素升序组成的列表 ls3 = sorted(ls,reverse=True) # 返回一个由ls内元素降序组成的列表 lss = [1,2,5,6,7,4,3,5,"3"] lss2 = sorted(lss,key=str) print(lss2)
迭代器惰性求值
reversed(seq) -->返回一个翻转元素的迭代器。惰性求值
例如:
ls = list("abcd") ls1 = reversed(ls) print(ls,ls1) next(ls1)
enumerate(seq,start=0)?C>枚举生成器对象,返回索引数字和元素构成的二元组
seq 需要迭代的序列
start 表示索引开始的数字,默认是0
iter(iterable) #将一个可迭代对象封装成一个迭代器
next(iterator[,default]) #对一个迭代器取下一个元素。如果元素全部都取过了,再次next会抛出StopIteration异常
例如:
it = reversed([1,3,4,5,6]) next(it)
zip(*iterable)―>迭代器 #拉链函数
根据多个个可迭代对象,返回一个由对应下标元素组成的元组。迭代器可返回值的个数取决于多个可迭代对象的最小长度。
把多个可迭代对象合并在一起,返回一个迭代器。将每次从不同对象中渠道的元素合并成一个元组
常用例子:
list(zip(range(10,range(10),range(10)))) dict(zip(range(10),range(10)))
例如:
m = zip(range(9),range(6)) for i in m: print(i) print("------------") m = zip(range(3),range(6)) for i in m: print(i)
all(iterable)―>True|False #判断所有元素是否都等效于True,如果都是就返回True,否则返回False。如果集合没有一个元素,返回True
any(iterable)―>True|False #判断所有元素中是否有等效为True的元素,如果有,返回True.如果集合没有一个元素,返回False
可迭代对象
迭代器
附加