我想当第一

本节内容:

python自带的各种内置函数

内置函数就是系统在安装玩python解释器时就存在的,由系统提供的函数.可以直接使用

一.内置函数-range()

#range()函数能够生成一个指定的数字序列
参数:
start :开始的值
stop :结束的值
step :可选,步进值,默认为1
返回值: 可迭代对象,数字序列

#只写一个参数,开始的值默认为0
res = range(10)

_#两个参数时,第一个参数是开始的值,第二个参数就是结束的值(在结束值之前,左闭右开)
_res = range(5,10)
print(list(res))

_#三个参数时,参数一为开始值,参数二为结束值,参数三为步长
_res = range(1,10,2)
print(list(res))

_#获取倒序
_res = range(10,0,-1)
print(list(res))

二.内置函数-zip()

zip()函数可接收多个可迭代对象,然后把每个可迭代对象中的第i个元素组合在一起,形成一个新的迭代器

参数: *iterables ,任意个可迭代对象
返回值: 返回一个元组的迭代器

示例如下:
var1 = ‘1234’
var2 = [‘a’,‘b’,‘c’,‘d’]
var3 = (‘A’,‘B’,‘C’,‘D’)

_#调用zip函数,组成新的元组迭代器
_res = zip(var1,var2,var3)

print(next(res))
print(next(res))
print(next(res))

三.其他内置函数

#数据类型相关函数
_int()
#将其他类型数据转为整形
float() #将其他类型转为浮点类型
bool() #转为布尔类型
str() #转为字符串类型
tuple() #转为元组类型
dict() #转为字典类型
list() #转为列表类型
set() #转为集合类型

变量相关函数
id() #获取当前数据的id标识
type() #获取当前数据的类型
print() #数据的打印
input() #获取输入的数据
isinstance() #检测是否为指定的数据类型

数字相关函数
#获取一个数的绝对值
print(abs(-99.99))
#求和
print(sum([1,2,3]))
#获取最大值
print(max(1,2,5))
print(max([1,22,5]))
#获取最小值
print(min(1,2,5))
print(min([1,22,5]))
#幂运算
print(pow(2,5))
#无需记住,留有印象即可,用时可面向百度_

四.内置函数-高阶-sorted()函数

# sorted(iterable,reverse,key)
_# 功能:用于排序
# 参数:
# iterable:可迭代的数据
# reverse 可选,是否反转,默认为False
# key 可选 函数,可以是自定义函数也可以是内置函数
# 返回值:排序后的结果
# 运行原理:把可迭代数据里面的元素取出放在key函数中处理,并按照返回的结果进行排序

示例如下:
arr = [45,26,84,21,-11,99]
res = sorted(arr,reverse = True) _#默认为升序()False,加上第二个参数reverse(True)可以转为降序
_print(res)

加上一个参数key
#abs()求绝对值
_arr = [45,26,84,21,-11,99]
res = sorted(arr,key = abs,reverse = True)
#按照key函数处理的结果进行排序
_print(res)

在sorted中使用自定义函数
def func(num):
return num%2
arr = [2,5,4,9,1]
res = sorted(arr,key=func) _#对2取余后比较大小,再返回排序原数据输出
_print(res)

_#优化版,使用lambda简化自定义的简单函数
_arr = [2,5,4,9,1]
res = sorted(arr, key=lambda x:x%2)
print(res)

五.内置函数-高阶-map()函数

对传入的可迭代数据中的每个元素进行处理,返回一个新的迭代器
map(func,*iterables)
功能:对传入的可迭代数据中的每个元素放入到函数中进行处理,返回一个新的迭代器
参数:
func 函数 自定义函数|内置函数
iterables: 可迭代 数据
返回值: 迭代器

案例一:把字符串列表转换为整形的列表

#普通方法
varlist = [‘1’,‘2’,‘3’,‘4’] _#—->[1,2,3,4]
_newlist = []
for i in varlist:
newlist.append(int(i))
print(newlist)

#使用map()函数
_varlist = [‘1’,‘2’,‘3’,‘4’]
res = map(int,varlist)
#返回的是一个迭代器
_print(list(res))

案例二:[1,2,3,4]—->[1,4,9,16]

#普通方法
varlist = [1,2,3,4]
newlist = []
for i in varlist:
newlist.append(i*i)
print(newlist)

varlist = [1,2,3,4]
def func(num): #自定义求平方的函数
return num**2

#使用map()函数
res = map(func,varlist) _#或者使用匿名函数简化代码res = map(lambda x:x**2,varlist)
_print(list(res))

六.内置函数-高阶-reduce()函数

reduce(func,*iterable)

功能:
每一次从iterable拿出两个元素,放入func函数中进行处理,得出一个计算结果,然后
把这个计算结果和iterable中的第三个元素,放入到func函数中继续运算,得出的结果
和之后的第四个元素,加入到func函数中进行出,以此类推,直到全部元素参与运算

参数:
func 内置函数或自定义函数
iterable 可迭代数据
返回值:最终运算结果
注意:使用reduce()函数需导入from functools import reduce

案例:将[5,2,1,1]—->5211

#普通方法
_varlist = [5,2,1,1]
res = ‘’
for
i in varlist:
res += str(i)
#利用字符串相加就是拼接的特性完成本题
_print(int(res))

#使用reduce()函数
from functools import reduce
varlist = [5,2,1,1]
def func(x,y):
return x*10 + y
res = reduce(func,varlist)
print(res)

七.内置函数-高阶-filter过滤器

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

要求:保留所有的偶数

_# 普通方法
_varlist = [1,2,3,4,5,6,7,8,9]
newlist = []

for i in varlist:
if i % 2 == 0:
newlist.append(i)

print(newlist)

_#使用filter过滤器
_varlist = [1,2,3,4,5,6,7,8,9]

def func(i):
if i % 2 == 0:
return True
else
:
return False
res = filter(func,varlist) _#只需要放入函数名字即可
_res = filter(
lambda i:True if i%2 == 0 else False**,varlist) #此处可以使用lambda表达式简化代码
_print(list(res))

#此处的lambda表达式虽然可以简化代码,但是可读性可能相对于函数来说差一点