python迭代函数(详解Python中的内建函数,可迭代对象,迭代器)
python迭代函数
详解Python中的内建函数,可迭代对象,迭代器python中的内建函数和可迭代对象,迭代器
求值标识
- id() #标识id 返回对象的唯一标识,cpython返回内存地址
- hash() #哈希, 返回对象的哈希值
- len(s) -->返回一个集合类型的元素个数
- range(start,stop[,step]) -->返回一个从start开始到stop结束,步长为step的可迭代对象。step默认为1
类型判断
- type() #返回对象的类型
- isinstance(obj,class_or_tuple) —>true|false #判断obj是否属于某种类型或者元组中列出的某个类型
例如 isinstance(true,int) #判断true是否是int类型
- issubclass(cls,class_or_tuple)—>true|false #判断类型cls是否是某种类型的子类或元组中列出的某个类的子类
例如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()
输入输出
- input([prompt])–>str 接受用户输入,返回一个字符串
- print(*object,sep=' ‘,end='\n',file=sys.stdout,flush=false) -->打印输出,默认使用空格分割,换行结尾,输出到控制台
数学运算相关
- abs(x)–> 返回x的绝对值 x为数值
- max()—> 返回最大值
- min()—> 返回最小值
- round(x)—>四舍五入取偶, 例如:round(-0.5)==0
- pow(x,y)—>求 xy x^yxy
- limod(x,y) —>返回x除以y的商和x除以y的余组成的二元组。等价于tuple(x//y,x%y)
- sum(iterable[,start])可迭代对象的所有数值元素求和
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)–>枚举生成器对象,返回索引数字和元素构成的二元组
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
可迭代对象
- 能够通过迭代一次次返回不同元素的对象
- 可迭代,但是未必有序,未必可索引
- 可迭代对象有:list、tuple、string、bytes、bytearray、range、set、dict、生成器等
- 可使用成员操作符in、not in
迭代器
- 特殊的对象,一定是可迭代对象,具备可迭代对象的特征
- 生成器对象,就是迭代器对象
- 创建和使用:
- 可以通过iter方法把一个可迭代对象封装成迭代器
- 可以通过next()方法获取迭代器中的元素。
附加
以上所述是小编给大家介绍的python内建函数,可迭代对象,迭代器详解整合,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对开心学习网网站的支持!
原文链接:https://blog.csdn.net/u013008795/article/details/89192743
- python多线程超时设置(解决python线程卡死的问题)
- python 数据库实现学生管理系统(python+mysql实现教务管理系统)
- python装饰器语法与应用(python装饰器简介---这一篇也许就够了推荐)
- python设计一个聊天机器人(手把手教你使用Python创建微信机器人)
- python获取系统的utc时间(Python的UTC时间转换讲解)
- python中if的条件语句(浅谈Python的条件判断语句if/else语句)
- python比go语言简单(Python和Go语言的区别总结)
- python编程ai人工智能(AI领域都在用Python即将被淘汰?网友预测未来的编程语言不会是TA)
- pythondjango图解(详解Django-restframework 之频率源码分析)
- python类中的数据封装(基于python生成器封装的协程类)
- python 摄像头运用(使用Python控制摄像头拍照并发邮件)
- python淘宝秒杀教程(Python实现京东秒杀功能代码)
- python基本运算符编程(对Python3 * 和 ** 运算符详解)
- python turtle简易绘图(详解Python使用Plotly绘图工具,绘制甘特图)
- python学生管理系统与数据库(python学生管理系统学习笔记)
- pythonselenium怎么设置元素(Python2 Selenium元素定位的实现8种)
- 律界衣品最好,时尚圈学识数高,41岁的Amal堪称现实版的傲骨贤妻(时尚圈学识数高)
- 刘智泰确认出演《Good Wife》 担纲男一号(刘智泰确认出演Good)
- 《傲骨之战》剧终 律政女魔头Diane,为什么是大女主天花板(傲骨之战剧终律政女魔头Diane)
- 汉族(汉族的祖先是谁)
- 中国有几个名族(中国有几个民族没列入56个民族)
- 数学语文题目(语文的数学题)
热门推荐
- html5关闭页面代码(HTML5页面无缝闪开的问题及解决方案)
- mysql锁类型大全(简单了解 MySQL 中相关的锁)
- dockerfile 添加yum文件(使用YUM 安装 docker的方法步骤)
- vue-cli安装教程学习(Vue新手指南之创建第一个vue-cli脚手架程序)
- docker怎么搭建私有服务器(docker搭建CMS点播系统带播放器功能)
- 织梦cms漏洞怎么解决(织梦cms、帝国cms、PHPcms优缺点解析)
- linux内核进程调试代码(分析Linux内核调度器源码之初始化)
- python中lambda函数是什么意思(python ---lambda匿名函数介绍)
- 笨办法学python3目录(如何愉快地迁移到 Python 3)
- http服务器使用教程(HTTP与HTTP协作的Web服务器访问流程图解)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9