当前位置: 首页 > news >正文

python基础(14内置函数介绍)

python系列文章目录

python基础(01变量&数据类型&运算符)
python基础(02序列共性)
python基础(03列表和元组)
python基础(04字符串&字典)
python基础(05集合set)
python基础(06控制语句)
python基础(07函数)
python基础(08类和对象)
python基础(09闭包&装饰器)
python基础(10异常处理)
python基础(11文件读取)
python基础(12迭代器&生成器)
python基础(13魔法方法介绍)


文章目录

  • python系列文章目录
  • 前言
  • 一、map()
    • 1.概念
    • 2.例子1
    • 3.例子2
    • 5.例子4
    • 6.例子5
  • 二、filter()
    • 1.作用
    • 2.例子
  • 三、reduce()
    • 1.作用
    • 2.例子
  • 四、zip()
    • 1.作用
    • 2.例子
  • 五、enumerate()
    • 1.作用
    • 2.例子
  • 六、sorted
    • 1.作用
    • 2.例子
  • 总结


前言

本文主要讲python中的一些内置函数,这些函数,动手敲一遍,理解其用法即可,python基础系列到这一篇,基本进入尾声了,加油!


一、map()

1.概念

  • 可以接收两个参数,一个是函数、一个是序列
  • map将传入的函数依次作用到序列的每个元素
  • 并把结果作为新的list返回

2.例子1

一个函数f(x)=x2 函数作用在一个list[1,2,3,4,5] 求平方

普通实现

a=[1,2,3,4,5,6,7,8]
def f(x):return x*x
result_list=[]
for i in a:result_list.append(f(i))
print(result_list)

map()实现

a=[1,2,3,4,5,6,7,8]
def f(x):return x*x
it=map(f,a)  #返回结果:可迭代的对象  会自动遍历把a的每一个元素传进函数
print(type(it))  #map  可迭代对象
print(list(it))  #map是一个可迭代对象 可直接传入list
print(list)

3.例子2

map可将数字转化成字符串

普通实现

b=10
s=str(b)
print(type(s))

map()实现

b=[1,2,3,4,5,6,7,8]
l=map(str,b)
print(list(l))    #['1', '2', '3', '4', '5', '6', '7', '8']

4.例子3

传入2个列表

a=[1,2,3,4]
b=[10,20,30]  #获取小的一个列表 按照顺序相加
def f(x,y):return x+yh=map(f,a,b)
print(list(h))

5.例子4

两个列表 一个lst1 一个lst2 相同位置的元素进行比较 大的一个数赋值给lst3

def f1(x,y):if x>y:return xelse:return y
a=[1,4,3]
b=[6,1,5]
#map() 是一个可迭代的对象
f=map(f1,a,b)
print(list(f))
#也可以用匿名函数
a=[3,2,1]
def f2(x):return x+1
b=list(map(lambda x: x+1,a))  #()迭代器对象
print(b)   #[4, 3, 2]

6.例子5

大写转化成小写

a=["ASC","JIA","YHG"]
def to_lower(x):return x.lower()
# b=list(map(to_lower,a))  #  第一种调用函数    ()迭代器对象
b=list(map(lambda x:x.lower(),a))   #第二种   匿名函数 直接调用lower方法 不用自己写函数
print(b)                 #['asc', 'jia', 'yhg']

二、filter()

1.作用

  • 过滤序列,和map类型,filter()也接收一个函数和一个序列,和map()不同的是把传入的函数依次作用于每个元素
  • 根据返回值是true 还是False 决定保留还是丢弃该元素,true保留

2.例子

题目1:在一个list中,删掉偶数,只保留奇数

def is_odd(n):return n%2==1
l=filter(is_odd,[1,2,4,5,6])
print(list(l))

题目2:filter序列中的空字符串删掉

普通实现

普通实现:''  None 都代表false
a=["A","B",None,"C",'']
b=None
if b:    #true就会执行下一步print("b")  #不会输出 none是false

filter实现

filter实现
'  '是空字符串 但是有内容   是true  也会打印
strip()可以过滤掉字符两边的空格  就可以解决这个问题 就不会打印了
def not_empty(s):return s and s.strip()
l=filter(not_empty,["A","B",None,"C",'  ',''])
print(list(l))   #['A', 'B', 'C']

三、reduce()

1.作用

  • 把一个函数作用在一个序列[x1,x2,x3,x4,x5]上,这个函数必须接收两个参数 reduce把结果继续和序列的下一个元素做累积计算

2.例子

问题1:对一个序列求和

普通实现

from functools import reduce
a=[1,2,3,4,5,6,7,8]
sum=0
for i in a:sum+=i
print(sum)

reduce实现

from functools import reduce
a=[1,2,3,4,5,6,7,8]
def add(x,y):return x+y
sum=reduce(add,a)
print(sum)

问题2:如果想把序列[1,3,5,7,9]变成整数13579,将列表中的每个元素乘以10后加上后一个元素

from functools import reduce
def fn(x,y):return x*10+y
a=reduce(fn,[1,3,5,7,9])
print(a)

四、zip()

1.作用

  • 两个序列作用为一个序列

2.例子

例子1:打印元组

 for item in zip(['a','b','c'],(1,2,3)):print(item)
-----------------------
结果
('a', 1)
('b', 2)
('c', 3)

例子2:打印字典

iter=dict(zip(['a','b','c'],(1,2,3)))
print(iter)
---------------------------------
结果
{'a': 1, 'b': 2, 'c': 3}

五、enumerate()

1.作用

作用于序列中的每一个元素 返回一个包含元素下标和元素本身的元组

2.例子

for item in enumerate('abcdefg',2):print(item)
----------------------------------
打印结果:元素都会打印 但是排序数字会从指定数字开始
(2, 'a')
(3, 'b')
(4, 'c')
(5, 'd')
(6, 'e')
(7, 'f')
(8, 'g')

六、sorted

1.作用

  • 通常的排序核心是比较两个数字的大小
  • 如果是字符串,通常规定:对于两个元素x和y,如果认为x<y,返回-1 x==y,返回0,x>y,返回1,这样可以通过结果直接排序
  • python中内置函数:sorted()就可以对list进行排序
  • 默认升序,reverse=True 降序

2.例子

例子1:数字排序

sorter1=sorted([1,3,6,-20,34],reverse=True)
print(sorter1)

例子2:字符串排序

sorter2=sorted(['abc','jiajia','佳佳','ABC','123'])
print(sorter2)

例子3:绝对值大小排序

  • sorted是高阶函数,还可以接收一个key函数来实现自定义的排序
  • #数值列表:按照绝对值的大小进行排序
sorter3=sorted([-20,-90,40,10,16],key=abs)
print(sorter3)   #[10, 16, -20, 40, -90]  绝对值升序

例子4:字符串忽略大小写排序

sorter4=sorted(['abc','jiajia','佳佳','ABC','123'],key=str.lower)
print(sorter4)

例子5:元组排序

lst=[('david',90),('cc',80),('xiaoniu',85)]
lst1=sorted(lst,key=lambda x:x[1])
print(lst1)

总结

本文介绍的一些python内置函数,一定要动手敲一遍,知道是什么含义,理解其用法即可,不必死记硬背,用到的时候知道有这个函数即可。


http://www.mrgr.cn/news/15863.html

相关文章:

  • 第22周:调用Gensim库训练Word2Vec模型
  • 掌握SQL数据分割技巧:垂直与水平分割全解析
  • flume系列之:批量并行启动、停止、重启flume agent组
  • 【Linux】在 bash shell 环境下,当一命令正在执行时,按下 control-Z 会?
  • 【干货分享!】十五届蓝桥杯单片机国一经验分享
  • 【数学建模经验贴】数模的意义,并不只在于获奖,而在于历练!
  • union 的正确食用方法
  • 纯vue实现笔记系统
  • 对比 PDAF、CDAF 和 LAAF 自动对焦技术
  • 年后上来面试了13家企业软件测试岗位,面试题整理
  • 常用数据存储介质
  • 微信小程序客户端与服务端进行WebSocket通信
  • 2024高教社杯”全国大学生数学建模竞赛保奖秘诀!!!
  • 如何在C语言中使用pthread库实现多线程编程
  • 【区间dp、字符串处理】P4290 [HAOI2008] 玩具取名 题解
  • 顺序循环队列
  • JAVA—多线程
  • 平安养老险广西分公司:国家金融监督管理总局广西监管局一行到访平安大厦开展调研
  • 治愈系风景视频素材下载网站有哪些?令人治愈美景素材库网站分享
  • Java 入门指南:初识 Java 并发编程