Python(IT峰)笔记04-函数,range,zip,数值函数,变量函数,进制函数,sorted,map,reduce,filter,

本文介绍了Python中的高阶函数及其应用,包括`range()`、`zip()`、`map()`、`reduce()`和`filter()`。同时讲解了`int()`、`float()`、`bool()`等基本类型转换函数,以及`abs()`、`pow()`、`max()`、`min()`等数学函数。此外,还展示了`bin()`、`oct()`、`ord()`和`chr()`等进制转换及ASCII操作函数。通过实例演示了如何使用这些函数进行数据处理和排序操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、range()函数

三个参数,1、开始值,2、结束值、3、步进值

myrange1=range(2,5)
for item in myrange1:
	print(item)#2,3,4

myrange2=range(5)
for item in myrange2:
	print(item)#0,1,2,3,4

myrange3=range(1,5,2)
for item in myrange3:
	print(item)#1,3
2、zip()函数

zip可以接受多个可迭代对象,然后把每个可迭代对象的第i个元素组合在一起,返回一个新的(元组)迭代器
参数需要N个可迭代对象,元素序号

ite1='123',
ite2={'name':'zhangsan','age':34,'address':'beijing'}
ite3=['lisi','wangwu','maba']
ite4=range(3)

res=zip(ite1,ite2,ite3,ite4)
for item in res:
	print(item)#'hello world', 'name', 'lisi', 0

这里取的是每个迭代器对象的第一个


ite3=['lisi','wangwu','maba']
ite2=['pku','tingshua','']
ite1=[1,2,3]

res=zip(ite1,ite3)
for item in res:
	print(item)

结果是一个笛卡尔积
(1, ‘lisi’)
(2, ‘wangwu’)
(3, ‘maba’)

3、数值函数

int()转为整数类型
float()转为浮点类型
bool()转为布尔类型
complex()转为复数类型
str()转为字符串类型
list()转为列表类型
tuple()转为元祖类型
dict()转为字典类型
set()转为集合类型

4、变量函数

id()获取变量id
type()获取类型
print()打印
input()交互获取数据
isinstance()检测类型

5、数学函数

abs()
pow()
max()
min()
round()

a=max([3,4,6,8])
b=min(67,64,98,909)
c=pow(2,8)#乘方
d=round(3.4556)#四舍五入
print(a)
print(b)
print(c)
print(d)
6、进制函数

bin()二进制
oct()转化为八进制
ord()字符转ascii码
chr()ascii码转字符

7、高阶函数-sorted()

sorted()排序
把可迭代数据取出,放到key函数进行处理,按照函数中return的结果进行排序
参数:iterable,可迭代的数据
rervese:是否反转,值为Ture 或 False
key:排序函数,根据函数返回结果进行排序

def big2(number):
	return  number%2
a=[3,4,5,80,-323,23]
b=sorted(a,reverse=True,key=big2)#按%2得值排序,返回新的排序数组,而不是运算结果
c=sorted(a,key=abs)
print(b)
print(c)

结果
[3, 5, -323, 23, 4, 80]
[3, 4, 5, 23, 80, -323]

8、高阶函数-map()

对传入的可迭代数据中的每个元素重新处理,得到新的迭代器
map()
参数:
func:函数(自定义或内置函数)
iterables:可迭代数据
返回值:一个新的迭代器

def big2(number):
	return  number*2
a=[3,4,5,80,-323,23]
b=map(big2,a)
print(list(b))#[6, 8, 10, 160, -646, 46]
9、高阶函数-reduce()

使用前需要import functiontools
每次从iterable拿出两个元素,放入到func函数中处理,得出一个计算结果,然后把这个计算结果和iterable中的第三个元素,放入到func中预算,得出的结果和之后的第四个元素加入到func函数中进行递归运算
参数:
func:自定义函数
iterable:可迭代对象
返回最终的运算结果

from functools import reduce

arr=[5,4,3,2,1]
def myfun(numb,numb2):
	return numb+numb2
res=reduce(myfun,arr)#执行5+4+3+2+1 结果为15
print(res)
10、高阶函数-filter()

filter(func,iterable)
把iterable中的每个元素拿到func函数中进行处理,如果函数返回True则保留这个数据,返回flase则丢弃这个数据
参数:
func:自定义函数
iterable:可迭代的数据
返回值:保留下来的数据组成迭代器

arr=[5,4,3,2,1]
def myfun(number):
	if(number%2==0):
		return True
res=filter(myfun,arr)
for item in res:
	print(item)#4,2
#使用lambda匿名函数简写
its=filter(lambda n:True if n%2==0 else False,arr)
for item in its:
	print(item)#4,2
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值