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

python高级内置函数介绍及应用举例

目录

  • 1. 概述
  • 2. 举例

1. 概述

Python中有许多高级内置函数,它们提供了丰富的功能和便利性,可以大大简化代码并提高效率。以下是一些常用的高级内置函数:

map():

用于将一个函数应用于一个可迭代对象的所有项,返回一个新的迭代器。
filter():

用于根据指定的条件过滤可迭代对象中的元素,返回一个迭代器。
reduce()(在Python 3中被移到了functools模块):

用于对可迭代对象中的元素进行累积操作,返回一个单一的结果。
lambda函数:

匿名函数,用于快速定义简单的小型函数。
enumerate():

用于将一个可迭代对象的元素同时返回索引和值。
zip():

用于将多个可迭代对象的对应位置的元素组合成元组。
any() 和 all():

用于检查可迭代对象中的元素是否为True。
sorted():

用于对可迭代对象进行排序。
reversed():

用于反转一个序列。
min() 和 max():

用于找到可迭代对象中的最小和最大值。
sum():

用于对可迭代对象中的所有元素求和。
any() 和 all():

用于检查可迭代对象中的元素是否为True。
getattr() 和 setattr():

用于获取和设置对象的属性。
slice():

用于创建一个切片对象,可以用于切取可迭代对象的一部分。
zip() 和 *args / **kwargs 结合使用:

可以用于函数调用时传递可变数量的参数。
这些高级内置函数可以极大地简化代码并提高代码的可读性和可维护性。同时也能够使得代码更加高效和灵活。

2. 举例

  1. map(): 该函数将一个函数应用于给定序列的每个元素,并将每个结果作为一个新序列返回。例如,将一个列表中的所有元素平方:
nums = [1, 2, 3, 4]
squares = list(map(lambda x: x**2, nums))
print(squares)
# 输出: [1, 4, 9, 16]
  1. filter(): 该函数返回一个由符合条件的元素组成的新序列。例如,从列表中过滤出奇数:
nums = [1, 2, 3, 4]
odd_nums = list(filter(lambda x: x % 2 != 0, nums))
print(odd_nums)
# 输出: [1, 3]
  1. reduce(): 该函数接收一个函数和一个序列,重复地将函数应用于序列中的元素,最终返回一个单一的值。例如,计算列表中所有元素的和:
from functools import reducenums = [1, 2, 3, 4]
sum = reduce(lambda a, b: a + b, nums)
print(sum)
# 输出: 10
  1. sorted(): 该函数返回一个排序后的序列。例如,对一个列表进行排序:
nums = [4, 2, 5, 1, 3]
sorted_nums = sorted(nums)
print(sorted_nums)
# 输出: [1, 2, 3, 4, 5]
  1. zip(): 该函数将多个序列并排组合成一个新的序列。例如,将两个列表按位合并:
first_names = ["John", "Jane", "Bob"]
last_names = ["Doe", "Smith", "Johnson"]
names = list(zip(first_names, last_names))
print(names)
# 输出: [("John", "Doe"), ("Jane", "Smith"), ("Bob", "Johnson")]
  1. enumerate():

介绍:enumerate() 用于将一个可迭代对象的元素同时返回索引和值。
应用举例:

fruits = ['apple', 'banana', 'cherry']
for index, fruit in enumerate(fruits):print(index, fruit)
# 输出:
# 0 apple
# 1 banana
# 2 cherry
  1. 匿名函数(lambda函数):

介绍:lambda函数是一种简洁的定义小型函数的方式,通常用于需要一个简单的函数的情况。
应用举例:

add = lambda x, y: x + y
result = add(3, 5)
# 输出: 8
  1. any() 和 all():
    在 Python 中,any()all() 都是用于对可迭代对象进行逻辑判断的函数。

any() 函数接受一个可迭代对象作为参数,返回 True 或 False。如果可迭代对象中至少有一个元素为 True,那么返回 True,否则返回 False。例如:

>>> any([False, True, False])
True
>>> any([False, False, False])
False

all() 函数也接受一个可迭代对象作为参数,返回 True 或 False。如果可迭代对象中的所有元素都为 True,那么返回 True,否则返回 False。例如:

>>> all([True, True, True])
True
>>> all([True, False, True])
False

需要注意的是,如果可迭代对象为空,那么 any()all() 都会返回 False。
9. getattr() 和 setattr():
getattr() 和 setattr() 是 Python 内置函数,用于获取和设置对象的属性。

getattr() 用于获取对象的属性值,语法为:

getattr(object, name[, default])

其中,object 为对象,name 为属性名,default 为默认值,如果对象没有该属性,则返回默认值。如果不提供默认值,当对象没有该属性时会抛出 AttributeError 异常。

示例:

class MyClass:my_attr = 42obj = MyClass()
print(getattr(obj, 'my_attr'))  # 输出 42
print(getattr(obj, 'not_exist_attr', 'default_value'))  # 输出 default_value

setattr() 用于设置对象的属性值,语法为:

setattr(object, name, value)

其中,object 为对象,name 为属性名,value 为属性值。

示例:

class MyClass:my_attr = 42obj = MyClass()
setattr(obj, 'my_attr', 100)
print(obj.my_attr)  # 输出 100

这些函数是Python中内置的非常有用的高级函数,可以大大简化代码,提高效率。

相关文章:

python高级内置函数介绍及应用举例

目录 1. 概述2. 举例 1. 概述 Python中有许多高级内置函数,它们提供了丰富的功能和便利性,可以大大简化代码并提高效率。以下是一些常用的高级内置函数: map(): 用于将一个函数应用于一个可迭代对象的所有项,返回一…...

人体呼吸存在传感器成品,毫米波雷达探测感知技术,引领智能家居新潮流

随着科技的不断进步和人们生活质量的提高,智能化家居逐渐成为一种时尚和生活方式。 人体存在传感器作为智能家居中的重要组成部分,能够实时监测环境中人体是否存在,为智能家居系统提供更加精准的控制和联动。 在这个充满创新的时代&#xf…...

软件设计模式(三):责任链模式

前言 前面荔枝梳理了有关单例模式、策略模式的相关知识,这篇文章荔枝将沿用之前的写法根据示例demo来体会这种责任链设计模式,希望对有需要的小伙伴有帮助吧哈哈哈哈哈哈~~~ 文章目录 前言 责任链模式 1 简单场景 2 责任链模式理解 3 Java下servl…...

开发者的商业智慧:产品立项策划你知道多少?

文章目录 想法的萌芽🌟初步评估产品可行性🍊分析核心功能和特点以及竞争对手📝大健康监测📝时尚新科技产品📝准确性📝多功能📝品牌口碑📝数据分析与个性化建议📝社交互动…...

Linux 6.6 初步支持AMD 新一代 Zen 5 处理器

AMD 下一代 Zen 5 CPU 现已开始为 Linux 6.6 支持提交相关代码,最新补丁包括提供温度监控和 EDAC 报告等。 最新的 Linux 6.6 代码中已经加入了包括支持硬件监视器温度监控和 EDAC 报告的补丁。此外,新版本还加入了 x86 / misc 补丁,Phoronix…...

第五章 Linux常用应用软件

第五章 Linux常用应用软件 ​ Ubuntu包含了日常所需的常用程序,集成了跨平台的办公套件LibreOffice和Mozila Firefox浏览器等。还提供了文本处理工具、图片处理工具等。 1.LibreOffice ​ LibreOffice免费开源,遵照GPL分发源代码,与OpenOf…...

连接云-边-端,构建火山引擎边缘云网技术体系

近日,火山引擎边缘云网络产品研发负责人韩伟在LiveVideoStack Con 2023上海站围绕边缘云海量分布式节点和上百T的网络规模,结合边缘云快速发展期间遇到的各种问题和挑战,分享了火山引擎边缘云网的全球基础设施,融合开放的云网技术…...

系统架构设计师(第二版)学习笔记----系统架构设计师概述

【原文链接】系统架构设计师(第二版)学习笔记----系统架构设计师概述 文章目录 一、架构设计师的定义、职责和任务1.1 架构设计师的定义1.2 架构设计师的任务 二、架构设计师应具备的专业素质2.1 架构设计师应具备的专业知识2.2 架构设计师的知识结构2.3…...

自动化测试:Selenium中的时间等待

在 Selenium 中,时间等待指在测试用例中等待某个操作完成或某个事件发生的时间。Selenium 中提供了多种方式来进行时间等待,包括使用 ExpectedConditions 中的 presence_of_element_located 和 visibility_of_element_located 方法等待元素可见或不可见&…...

vim 替换命令 “:s“

vim 替换命令 ":s" 1. 替换光标所在行的第一个匹配串2. 替换光标所在行全部匹配项3. 替换两行之间每行的第一个匹配项4. 替换两行之间的全部匹配项5. 替换整个文件中的每个匹配串6. 查找整个文件中的每个匹配串并询问是否替换 1. 替换光标所在行的第一个匹配串 命令…...

【golang】调度系列之m

调度系列 调度系列之goroutine 上一篇中介绍了goroutine,最本质的一句话就是goroutine是用户态的任务。我们通常说的goroutine运行其实严格来说并不准确,因为任务只能被执行。那么goroutine是被谁执行呢?是被m执行。 在GMP的架构中&#xff…...

可持久化线段树

可持久化线段树 模板 在某一指定版本的单点查,单点修。 开 m m m 棵线段树,每次修改复制后单点修。时间复杂度 O ( m ( n log ⁡ n ) ) O(m(n\log n)) O(m(nlogn)),空间复杂度 O ( n m ) O(nm) O(nm),不如暴力。 每次修改…...

运行 Node.js 与浏览器 JavaScript

浏览器和 Node.js 都使用 JavaScript 软件语言 - 但字面上的运行时环境是不同的。 Node.js(又名服务器端 JavaScript)与客户端 JavaScript 有许多相似之处。它也有很多差异。 尽管两者都使用 JavaScript 作为软件语言,但我们可以重点关注一些关键差异,这些差异使两者之间…...

File类操作

1. 练习一 在当前模块下的 text 文件夹中创建一个 io.txt 文件 import java.io.File; import java.io.IOException;public class Practice1 {public static void main(String[] args) {File file new File("D:\\kaifamiao");File file1 new File(file, "tex…...

C# 实现电子签名

本项目基于Emgu.CV(C#下OpenCv的封装)开发的,编译器最新版Vs2022,编译环境x86 直接看效果图 1.主页面 2.我们先看手写的方式: 点击确认就到主界面,如下 : 点击自动适配-,再点击生成…...

小米6/6X/米8/米9手机刷入鸿蒙HarmonyOS.4.0系统-刷机包下载-遥遥领先

小米手机除了解锁root权限,刷GSI和第三方ROM也是米粉的一大爱好,这不,在华为发布了HarmonyOS.4.0系统后不久,我们小米用户也成功将自己的手机干山了HarmonyOS.4.0系统。虽然干上去HarmonyOS.4.0系统目前BUG非常多,根本…...

集合框架和泛型二

一、Set接口 1. Set接口概述 java.util.Set 不包含重复元素的集合、不能保证存储的顺序、只允许有一个 null。 public interface Set<E> extends Collection<E>抽象方法&#xff0c;都是继承自 java.util.Collection 接口。 Set 集合的实现类有很多&#xff0c;…...

thinkphp6 入门教程合集(更新中)

thinkphp6 入门&#xff08;1&#xff09;--安装、路由规则、多应用模式 thinkphp6 入门&#xff08;1&#xff09;--安装、路由规则、多应用模式_软件工程小施同学的博客-CSDN博客 thinkphp6 入门&#xff08;2&#xff09;--视图、渲染html页面、赋值 thinkphp6 入门&#…...

openGauss学习笔记-65 openGauss 数据库管理-创建和管理数据库

文章目录 openGauss学习笔记-65 openGauss 数据库管理-创建和管理数据库65.1 前提条件65.2 背景信息65.3 注意事项65.4 操作步骤65.4.1 创建数据库65.4.2 查看数据库65.4.3 修改数据库65.4.4 删除数据库 openGauss学习笔记-65 openGauss 数据库管理-创建和管理数据库 65.1 前提…...

mysql、MHA高可用配置即故障切换

MHA概述 一套优秀的MySQL高可用环境下故障切换和主从复制的软件 MHA的出现就是解决MySQL 单点的问题 MySQL故障过程中&#xff0c;MHA能做到0-30秒内自动完成故障切换 MHA能在故障切换的过程中最大程度上保证数据的一致性以达到真正意义上的高可用 MHA的组成&#xff08;核…...

IDEA运行Tomcat出现乱码问题解决汇总

最近正值期末周&#xff0c;有很多同学在写期末Java web作业时&#xff0c;运行tomcat出现乱码问题&#xff0c;经过多次解决与研究&#xff0c;我做了如下整理&#xff1a; 原因&#xff1a; IDEA本身编码与tomcat的编码与Windows编码不同导致&#xff0c;Windows 系统控制台…...

在HarmonyOS ArkTS ArkUI-X 5.0及以上版本中,手势开发全攻略:

在 HarmonyOS 应用开发中&#xff0c;手势交互是连接用户与设备的核心纽带。ArkTS 框架提供了丰富的手势处理能力&#xff0c;既支持点击、长按、拖拽等基础单一手势的精细控制&#xff0c;也能通过多种绑定策略解决父子组件的手势竞争问题。本文将结合官方开发文档&#xff0c…...

postgresql|数据库|只读用户的创建和删除(备忘)

CREATE USER read_only WITH PASSWORD 密码 -- 连接到xxx数据库 \c xxx -- 授予对xxx数据库的只读权限 GRANT CONNECT ON DATABASE xxx TO read_only; GRANT USAGE ON SCHEMA public TO read_only; GRANT SELECT ON ALL TABLES IN SCHEMA public TO read_only; GRANT EXECUTE O…...

2025 后端自学UNIAPP【项目实战:旅游项目】6、我的收藏页面

代码框架视图 1、先添加一个获取收藏景点的列表请求 【在文件my_api.js文件中添加】 // 引入公共的请求封装 import http from ./my_http.js// 登录接口&#xff08;适配服务端返回 Token&#xff09; export const login async (code, avatar) > {const res await http…...

三体问题详解

从物理学角度&#xff0c;三体问题之所以不稳定&#xff0c;是因为三个天体在万有引力作用下相互作用&#xff0c;形成一个非线性耦合系统。我们可以从牛顿经典力学出发&#xff0c;列出具体的运动方程&#xff0c;并说明为何这个系统本质上是混沌的&#xff0c;无法得到一般解…...

Spring Cloud Gateway 中自定义验证码接口返回 404 的排查与解决

Spring Cloud Gateway 中自定义验证码接口返回 404 的排查与解决 问题背景 在一个基于 Spring Cloud Gateway WebFlux 构建的微服务项目中&#xff0c;新增了一个本地验证码接口 /code&#xff0c;使用函数式路由&#xff08;RouterFunction&#xff09;和 Hutool 的 Circle…...

QT3D学习笔记——圆台、圆锥

类名作用Qt3DWindow3D渲染窗口容器QEntity场景中的实体&#xff08;对象或容器&#xff09;QCamera控制观察视角QPointLight点光源QConeMesh圆锥几何网格QTransform控制实体的位置/旋转/缩放QPhongMaterialPhong光照材质&#xff08;定义颜色、反光等&#xff09;QFirstPersonC…...

怎么让Comfyui导出的图像不包含工作流信息,

为了数据安全&#xff0c;让Comfyui导出的图像不包含工作流信息&#xff0c;导出的图像就不会拖到comfyui中加载出来工作流。 ComfyUI的目录下node.py 直接移除 pnginfo&#xff08;推荐&#xff09;​​ 在 save_images 方法中&#xff0c;​​删除或注释掉所有与 metadata …...

基于Java+VUE+MariaDB实现(Web)仿小米商城

仿小米商城 环境安装 nodejs maven JDK11 运行 mvn clean install -DskipTestscd adminmvn spring-boot:runcd ../webmvn spring-boot:runcd ../xiaomi-store-admin-vuenpm installnpm run servecd ../xiaomi-store-vuenpm installnpm run serve 注意&#xff1a;运行前…...

tomcat入门

1 tomcat 是什么 apache开发的web服务器可以为java web程序提供运行环境tomcat是一款高效&#xff0c;稳定&#xff0c;易于使用的web服务器tomcathttp服务器Servlet服务器 2 tomcat 目录介绍 -bin #存放tomcat的脚本 -conf #存放tomcat的配置文件 ---catalina.policy #to…...