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

embedded/2024/9/23 21:51:54/

python_0">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] 求平方

普通实现

python">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()实现

python">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可将数字转化成字符串

普通实现

python">b=10
s=str(b)
print(type(s))

map()实现

python">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个列表

python">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

python">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))
python">#也可以用匿名函数
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

大写转化成小写

python">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中,删掉偶数,只保留奇数

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

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

普通实现

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

filter实现

python">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:对一个序列求和

普通实现

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

reduce实现

python">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后加上后一个元素

python">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:打印元组

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

例子2:打印字典

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

五、enumerate()

1.作用

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

2.例子

python">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:数字排序

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

例子2:字符串排序

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

例子3:绝对值大小排序

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

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

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

例子5:元组排序

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

总结

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


http://www.ppmy.cn/embedded/103857.html

相关文章

天宝TBCTrimble Business Center中文版本下载安装使用介绍

天宝TBC&#xff1a;测绘之道&#xff0c;尽在其中 引言 昔日杜甫&#xff0c;忧国忧民&#xff0c;今朝我辈&#xff0c;测绘天下。天宝TBC&#xff0c;乃测绘之利器&#xff0c;助我等行走于山川河流之间&#xff0c;绘制天地之图。此文将以杜甫之笔&#xff0c;述说TBC之妙…

JVM面试(一)什么是虚拟机?什么是class文件?

什么是java虚拟机&#xff1f; 如果通俗点来讲&#xff0c;我们在电脑上一行行敲出来的代码&#xff0c;电脑本身是不认识的&#xff0c;最终是要转成电脑可以运行的101001这种字节。 但是这些我们又不可能手动来转换&#xff0c;所以呢&#xff0c;就需要一个工具&#xff0…

第十五章 rust中进行windows系统开发

注意 本系列文章已升级、转移至我的自建站点中,本章原文为:rust中进行Windows系统开发 目录 注意一、前言二、指针三、windows四、字符串一、前言 作为系统级语言,rust可以很容易的和C++一样进行系统级编程,但实际操作后我相信你会遇到相当多的问题。 比如以本文要介绍的…

vue3手动写一个图片懒加载的插件

关于图片懒加载&#xff0c;网上自然是有许多形形色色的成品的&#xff0c;但是现在我们自己来实现一个图片懒加载的功能 实现原理&#xff1a; 主要利用了js提供的一个新方法&#xff0c;IntersectionObserver用于监听元素是否在页面可视区域&#xff0c; 用法&#xff1a; C…

HTTP 缓存

一、概述 1.HTTP缓存的基本原理是将Web资源&#xff08;如HTML,CSS,JavaScript&#xff0c;图片等&#xff09;保存在客户端或中间代理服务器上&#xff0c;后续的请求可以直接使用客户端或代理服务器上缓存的资源&#xff0c;而不必重新从服务器上获取。 2.HTTP缓存分为强制…

CSS\JS实现页面背景气泡logo上浮效果

效果图&#xff1a; 单容器显示气泡&#xff1a; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>Bu…

深入详解 C# Task.Run异步任务

目录 Task.Run Task.Run 的底层原理 默认并发数量 控制并发 使用 SemaphoreSlim 代码解析 使用 Parallel.ForEach 代码解析 注意事项 自定义任务调度器 代码解析 使用自定义任务调度器&#xff1a; 总结 Task.Run Task.Run 是 .NET 中创建和启动异步任务的一种便…

景联文科技提供运动数据采集服务

运动数据的重要性 运动数据的收集与分析对于提升个人健康管理和运动表现具有重要意义。 通过收集心率、步态、速度等生理和运动参数&#xff0c;不仅可以为运动员提供个性化的训练方案&#xff0c;帮助其优化表现&#xff0c;还能早期发现并预防伤病。对于普通健身者而言&…