Python中的各种函数

2023-10-28

1.map() 函数,将可迭代对象中每一条数据都执行一次函数,并且将函数执行的返回结果放入另一个可迭代对象中。

2.filter() 函数,会将列表中每一条数据执行一次函数,并将条件为真的数据放入结果中(None、''/、False、0这些都是条件为假的      数据),如:

result = filter(a, [1, 2, 0, False, '', True, '', 0, 3])
for x in result:
    print(x)

   输出的结果为:1
                            2
                            True
                            3

3.sorted() 函数,对所有可迭代的函数进行排序操作。将列表中的数据两两进行传递:

    (1)如果x>y,返回-1;x<y,返回1,。此为降序排序

    (2)如果x>y,返回1;x<y,返回-1,。此为升序排序

4.匿名函数。格式为:       lambda 参数1、参数2...:函数返回值  函数运算逻辑

    (1)当函数重复使用次数少,函数比较简单的时候,可以使用匿名函数。

    (2)特点:不用给函数命名,省略了大量的命名操作;  简化代码,省略大量不需要的冗余代码;  方便维护和管理。

    如:判断列表中的数据是奇数还是偶数?若是奇数,返回x*x;若是偶数,返回x/2,代码如下:

list1 = [25,2323,34,7,56,2,41,524,3,65,857,76,232]

def filter_num(x):
    if x % 2 == 0:
        return x/2
    else:
        return x*x

    利用匿名函数只需要一句代码即可;

result = map(lambda x: x/2 if x % 2 == 0 else x*x, list1)

5.reduce()函数,会对参数列表中元素进行累计。函数将一个数据集合(链表,元组等)中的所有数据进行下列操作:用传给          reduce 中的函数 function(有两个参数)先对集合中的第 1、2 个元素进行操作,得到的结果再与第三个数据用 function 函数      运算,最后得到一个结果。

   在 Python3 中,reduce() 函数已经被从全局名字空间里移除了,它现在被放置在 fucntools 模块里,如果想要使用它,则需要      通过引入 functools 模块来调用 reduce() 函数:from functools import reduce

6.列表生成式:就是用来快速生成一个列表的公式,如:

list1 = [x for x in range(100)]

list2 = [x for x in range(100) if x % 2 == 0]

7.练习:使用map+reduce+lamda+列表生成式产生一个存放100个0~100随机整数的列表,将生成的列表中每一条数据进行判        断,如果是奇数,返回**2;如果是偶数,返回/2.把计算的结果进行累加,最终得到一个计算的结果数字。具体代码如下:

list_run = [random.randint(0,100) for x in range(100)]
print(list_run)

map_rs = map(lambda x:x/2 if x % 2 == 0 else x**2,list_run)

result = reduce(lambda x,y:x+y ,map_rs)
print(result)

result = reduce(lambda x,y:x+y ,map(lambda x:x/2 if x % 2 == 0
        else x**2,[random.randint(0,100) for x in range(100)]))

print(result)

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python中的各种函数 的相关文章

  • centos7手动安装mysql服务_CentOS7手动安装MySQL 8

    系统 CentOS 7 8 2003 版本最小化安装 MySQL 8 0 21 注意 页面上没有CentOS的选项 选择RedHat 7相关的系统就行 他们之间的关系不可描述 囧 先下载了RPM Server包 以为能够一直安装过 cd u
  • 【星海出品】前后端是如何连通的

    web后端和前端是怎么连接的 首先要了解七层模型的基础知识 七层模型 亦称OSI Open System Interconnection 参考模型是国际标准化组织 ISO 制定的一个用于计算机或通信系统间互联的标准体系 一般称为OSI参考模
  • 12 个华丽的 UI 组件,为您提供设计灵感✨

    现代 Web 开发已转向基于组件的架构 从而实现更快的开发 更多的控制和更低的维护成本 在本文中 我精心挑选了一些我最喜欢的 UI 组件作为您的设计灵感 我尝试在我们的开发工作流程中包含不同类型的一些最常用的组件 包括卡片 文本 按钮 复选
  • MDK编译报错Error: L6218E: Undefined symbol SystemInit (referred from startup_stm32f10x_md.0)

    使用keil编译程序时 出现如下错误 Objects STM32 MD axf Error L6218E Undefined symbol SystemInit referred from startup stm32f10x md o No
  • Stability AI预测5年内人类程序员不复存在,对此你怎么看

    人类程序员消失 AI技术的壮大和人类角色的变迁 5年内就有点夸张了 而且ai技术目前来说发展存在不确定性 虽然AI技术在过去几年取得了巨大的进步 但要说在未来的五年内人类程序员将完全消失可能还为时过早 目前的AI技术可以在某些特定领域表现出
  • 改善编程体验: IdeaVimExtension介绍

    改善编程体验 IdeaVimExtension介绍 动机 Intellij IDEA是个非常优秀的开发环境 提供了相当好用的快捷键 让用户有机会脱离鼠标来使用IDE 另外官方还提供了IdeaVim插件 熟悉vim的用户可以使用几乎与vim相
  • 二分查找(C++算法)

    描述 从小到大输入若干整数 不超过300 以 99999为结束符 然后再输入一个整数x z在前面的整数中用二分查找法查找x 若找到 显示数的下标 即从0开始的序号 若找不到 显示 1 注意 不应使用别人写的库函数 输入 若干整数 输出 一个
  • CentOS Linux release 7.5升级OpenSSH版本至9.0p1

    本篇文章以 CentOS Linux release 7 5 1804 Core 版本的Linux系统为例进行升级 本次升级因是生产环境的服务器 所以服务器是不能连接外网的 而且整个升级过程中是通过访问堡垒机然后SSH连接服务器完成升级的
  • 混淆矩阵及confusion_matrix函数的使用

    1 混淆矩阵 混淆矩阵是机器学习中总结分类模型预测结果的情形分析表 以矩阵形式将数据集中的记录按照真实的类别与分类模型作出的分类判断两个标准进行汇总 这个名字来源于它可以非常容易的表明多个类别是否有混淆 也就是一个class被预测成另一个c
  • 数仓建设-架构&建模

    目录 一 架构篇 1 1 企业架构 1 2 数据平台架构 二 建模篇 2 1 FS LDM 2 2 数据模型概念 2 2 1 概念 2 2 2 数据模型三要素 2 2 3 数据模型分类 以旅客身份识别为例 2 3 维度建模工作过程 2 3
  • 使用自旋锁实现驱动设备的互斥访问

    代码来源 Linux设备驱动开发详解 宋宝华 p172 int xxx count 0 定义文件打开次数 static int xxx open struct inode inode struct file filp spinlock xx
  • SqlServer INSTEAD OF UPDATE 视图触发器问题

    源于系统中的 INSTEAD OF UPDATE 视图触发器关联表更新时 发生了错误如下 消息 414 级别 16 状态 1 第 1 行 不允许使用 UPDATE 因为该语句会更新视图 VTestTab 而该视图参与联接并且有一个 INST
  • ORB-SLAM2第五节---局部地图跟踪(阶段二)

    保证三种跟踪方式更加准确 1 局部关键帧 当前帧F的局部关键帧包括 能够观测到当前帧F中地图点的共视关键帧KF1 KF2 称为一级共视关键帧 一级共视关键帧的共视关键帧 前10个共视程度最高的关键帧 比如图中的KF1的共视关键帧为KF3 K
  • Mysql学习实战篇-第2弹 初识mysql常见的坑

    常见的坑 第1例 联合查询篇 错误提示 Error querying database Cause com baomidou mybatisplus core exceptions MybatisPlusException Error Me
  • 毕业设计-基于机器视觉的人体轮廓检测-OpenCV

    目录 前言 课题背景和意义 实现技术思路 一 研究内容 二 图像处理 三 轮廓提取 实现效果图样例 最后 前言 大四是整个大学期间最忙碌的时光 一边要忙着备考或实习为毕业后面临的就业升学做准备 一边要为毕业设计耗费大量精力 近几年各个学校要
  • Windows安装Qt与VS2019添加QT插件

    一 通过Qt安装包方式 http download qt io archive qt 5 12 5 12 3 安装可以就选中这个MSVC 2017 64 bit 其他就暂时不用了 二 通过vs2019安装Qt插件方式 方法1 下面这种方式本
  • java http 接收_java服务端接收http请求

    在开发中我们经常会用到http请求来处理数据 直接使用spring的 Controller 虽然很简单 很好实现 但是对于非spring的项目来说 要配置成sping项目也会耗费一些功夫 因此可以使用java SE进行简单的配置 packa
  • 游戏开发unity杂项知识系列:删除工程记录

    老方法参看 https blog csdn net tujiahao1 article details 102222053 新方法 unity hub自带删除工程记录了
  • FFmpeg通过摄像头实现对视频流进行解码并显示测试代码(旧接口)

    这里通过USB摄像头 注 windows7 10下使用内置摄像头 linux下接普通的usb摄像头 Logitech 获取视频流 然后解码 最后再用opencv显示 用到的模块包括avformat avcodec和avdevice liba
  • Go的协程和管道

    Go有个简单的线程模型 叫做协程 为这个协程配套的简易版 数据同步 叫管道或者信道 在go tour上有两个很有特色的例子 https tour go zh org concurrency 2 package main import fmt

随机推荐

  • 《数据结构》考研天勤和王道 第三章 栈、队列、数组和广义表

    数据结构 天勤和王道 第三章 栈 队列 数组和广义表 天勤的内容 1 用栈实现表达式的转换 1 1中缀转后缀 1 2中缀转前缀 1 3后缀转前缀 2 用栈实现表达式的计算 2 1用栈求中缀表达式的值 需要两个栈 2 2用栈求后缀表达式的值
  • mysql yearweek 日期不准,PHP日期('W')vs MySQL YEARWEEK(now())

    Can someone kindly explain me why these two give different results I execute this with PHP date YW mktime 0 0 0 3 22 201
  • 你敢信?开发一个管理系统我只用了两天时间

    推荐 前些天发现了一个巨牛的人工智能学习网站 通俗易懂 风趣幽默 忍不住分享一下给大家 点击跳转到网站 前言 由于疫情原因 学校通知本学期要提前放暑假 于是老师提前将期末作业公布于众 按照要求开发一个百货中心供应链管理系统 开发周期为半个月
  • SQL注入系列篇之union联合注入

    一 union注入概念 我们知道 SQL语句的union联合查询常用格式如下 select 1 2 3 from table name1 union select 4 5 6 from table name2 而在注入过程中 我们把unio
  • springmvc 防止XSS攻击

    XSS攻击 即Cross Site Script 跨脚本攻击 往web页面注入html代码或者script代码 造成页面混乱 spring mvc框架中 有很多编辑器 每个编辑器有不同的作用 防止XSS攻击 就用到PropertyEdito
  • 图像处理之OpenCV腐蚀和膨胀

    图像处理之OpenCV腐蚀和膨胀 在图像处理中 腐蚀和膨胀是常用的基础操作 它们可以对图像进行去噪 分割和形态学处理等 本文将介绍使用OpenCV库进行腐蚀和膨胀的方法及其相关代码 腐蚀操作 腐蚀操作可以看作是一种局部最小值滤波器 它的主要
  • UNIX环境高级编程习题答案——第四章

    4 1 用stat函数替换图4 3程序中的lstat函数 如若命令行参数之一是符号链接 会发生什么变化 会输出符号链接所指向文件的文件类型 4 2 如果文件模式创建屏蔽字是777 八进制 结果会怎样 用shell的umask命令验证该结果
  • 判断子序列的三种方法

    392 判断子序列https leetcode cn problems is subsequence 给定字符串 s 和 t 判断 s 是否为 t 的子序列 字符串的一个子序列是原始字符串删除一些 也可以不删除 字符而不改变剩余字符相对位置
  • springmvc源码学习(二十六)异步请求管理器WebAsyncManager异步任务执行流程

    目录 前言 一 回顾 二 异步任务分发 三 异步任务执行 总结 前言 接着上一篇进行分析 在异步任务创建完 那接下来springmvc会去处理该异步任务 一 回顾 1 上一篇中 在请求完接口 生成了一个调度任务dispatchTask 存储
  • IDEA如何向Maven项目中添加JDBC

    IDEA如何向Maven项目中添加JDBC 解决这个问题有两个步骤 下载这个jar包 导入这个jar包 向pom xml文件中导入依赖 我们依次展开 一 Jar包的下载 访问MySQL官网 点击顶部栏的下载 点击MySQL Communit
  • python selenium4 使用无界面浏览器 爬虫 并存储mysql数据库

    浏览器驱动 需要查看对应浏览器版本进行下载 selenium PyPIhttps pypi org project selenium 浏览器设置中查看当前版本 from selenium import webdriver from sele
  • 【JavaScript】只需要7行代码实现图片懒加载

    前言 面试的时候 面试官经常会问到一个问题 前端优化性能 其中 图片懒加载是性能优化的一个点 准备 offsetTop offsetTop是元素到offsetParent顶部的距离 offsetParent offsetParent是距离具
  • Python列表元素删除方法详解

    Python列表元素删除方法详解 在Python中 列表是一种非常常用的数据类型 它允许我们按照特定的顺序存储大量元素 但是在实际开发中 经常需要对列表中的元素进行删除操作 本篇文章将向您介绍Python中列表删除元素的四种方法 帮助您轻松
  • ARCGIS一些tips

    1 不同shapefile使用相同的自定义风格
  • 网络空间安全导论-第三章习题

    网络空间安全导论 第三章习题 TCP IP模型共有几层 各层各有什么功能 应用层 访问网络服务的接口 例如为操作系统或网络应用程序提供访问网络服务的接口 表示层 提供数据格式转换服务 如加密与解密 图片解码和编码 数据的压缩和解压缩 会话层
  • 【全国科技者工作日】:致敬每一位科技工作者,时代的发展永远也少不了这一批人!

    在我们的日常生活中 科技已经渗透到了方方面面 从第一台计算机的发明到智能手机的出现 再到人工智能的应用 科技的发展已经深刻地改变了我们的生活 在这个快速发展的时代 科技工作者是推动社会发展的重要力量 他们的辛勤付出和不懈努力为我们带来了更多
  • 量化python:使用热力图heatmap绘制胜率图方法及工具函数

    胜率图是分析策略的一种图形 对于胜率的分析需要三种数据 策略 参数集 表现在胜率图的横纵轴含义 对比的场景编号 表现在对比两个策略时使用的场景 通常见于不同的时间 不同的参数 不同的周期 场景对应的值 场景对应的值 可能代表收益率 模型的分
  • Oracle学习笔记5_简单查询

    Oracle简单查询语句 查看表结构 desc dept 查看所有列 select from dept 查询指定列 select ename sal job deptno from emp 如何取消重复行 select distinct d
  • C语言system函数用法

    system 函数用于向操作系统传递控制台命令行 以WINDOWS系统为例 通过system 函数执行命令和在DOS窗口中执行命令的效果是一样的 所以只要在运行窗口中可以使用的命令都可以用SYSTEM 传递 但要注意的是输入斜线时要输入两个
  • Python中的各种函数

    1 map 函数 将可迭代对象中每一条数据都执行一次函数 并且将函数执行的返回结果放入另一个可迭代对象中 2 filter 函数 会将列表中每一条数据执行一次函数 并将条件为真的数据放入结果中 None False 0这些都是条件为假的 数