详解Python中的内建函数,可迭代对象,迭代器
作者:带着梦想飞翔 发布时间:2023-08-23 13:48:07
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
divmod(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


猜你喜欢
- 什么是Dynamic HTML 今天我们以问答的形式来讲述什麽是Dynamic Html。问:亲爱的网猴,我经常看到讲述有关“Dynamic
- 本文实例讲述了Python 面向对象之封装、继承、多态操作。分享给大家供大家参考,具体如下:封装、继承、多态 是面向对象的3大特性为啥要封装
- Flask是一个用Python编写的Web应用程序框架,Flask是python的web框架,最大的特征是轻便,让开发者自由灵活的兼容要开发
- 中间件是我们在软件开发中的一个古老而强大的概念,当我们在应用程序中使用路由相关模式时,它非常有用。如果您不太了解中间件的含义,Nodejs框
- 前言哈喽,大家好,我是asong。每门语言都有自己的语法糖,像java?的语法糖就有方法变长参数、拆箱与装箱、枚举、for-each?等等,
- 前言在开始本文之前,先来介绍一下相关内容,大家都知道一些防护SSRF漏洞的代码一般使用正则来判断访问IP是否为内部IP,比如下面这段网上比较
- 背景介绍PyTorch 训练的模型,需要在Jetson nano 上部署,jetson 原生提供了TensorRT 的支持,所以一个比较好的
- 什么是浮动?浮动是 css 的定位属性。我们可以看一下印刷设计来了解它的起源和作用。印刷布局中,文本可以按照需要围绕图片。一般把这种方式称为
- 本文为大家分享了python银行管理系统的具体代码,供大家参考,具体内容如下自己写的练手小程序,练习面向对象的概念,代码中都有注释,刚学的同
- 1、 string的定义Golang中的string的定义在reflect包下的value.go中,定义如下:StringHeader 是字
- 不管何时何地,只要我们编程时遇到了跟时间有关的问题,都要想到 datetime 和 time 标准库模块,今天我们就用它内部的方法,详解py
- 数据处理版本1#数据处理import osimport torchfrom torch.utils import datafrom PIL
- 前言一般的方法此处也不列举了,还是有很多的,如双层循环判断是否相等,或新建数组比较再push等等,需要注意的是,使用splice方法移除元素
- python之Pyperclip模块下面介绍一下,python中的Pyperclip模块,它的简单又实用,主要用法就2点:1.用于复制剪贴板
- 前言VScode是一个相当优秀的IDE,具备开源、跨平台、模块化、插件丰富、启动时间快、颜值高、可高度定制等等优秀的特质,不愧是微软爸爸的私
- JavaScript 没有一个权威的编码风格指南,取而代之的是一些流行的编码风格:Google的JavaScript风格指南(以下简称Goo
- 如下:import pandas as pddf = pd.DataFrame({'Country':['China
- 1. 将Oracle 10g client安装包copy到本地才能安装:2. 双击setup 的到:3. 稍后进入安装界面:4. 选择下一步
- 简介:MongoEngine 是一个Document-Object Mapper (想一下ORM, 但它是针对文档型数据库),Python通
- 我们在为大家整Python程序员面试试题中,发现了一些被面试官问到的最多的一些问题,以下就是本篇内容:Python是个非常受欢迎的编程语言,