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