Python lambda/map/reduce理解

【python】(06)理解Python中的 lambda 、map、filter、reduce 函数 1)Lambda 函数Lambda 函数是一种匿名函数,通常用于定义简单的函数。Lambda 函数的语法为 lambda arguments: expression。2)Map 函数map(function, iterable) 函数将函数应用于可迭代对象的每个元素,返回一个结果列表。3)Filter 函数filter(function, iterable) 函数用于筛选出满足条件的元素,返回一个由所有符合条件的元素组成的迭代器。4)Reduce 函数。 阅读详情
# -*- coding: utf-8 -*-
# vim: expandtab softtabstop=4 shiftwidth=4
'''
map/reduce/lambda/三个函数的理解
'''


from functools import reduce


def char2num(c):
    ''' 字母转数字 '''
    return({
        '0': 0,
        '1': 1,
        '2': 2,
        '3': 3,
        '4': 4,
        '5': 5,
        '6': 6,
        '7': 7,
        '8': 8,
        '0': 0,
    }[c])

def num2char(n):
    ''' 单个数字转字符 '''
    return({
        0: '0' ,
        1: '1' ,
        2: '2' ,
        3: '3' ,
        4: '4' ,
        5: '5' ,
        6: '6' ,
        7: '7' ,
        8: '8' ,
        0: '0' ,
    }[n])

def str2num(s):
    ''' 字符串转数字 reduce ×10 map生成数字 '''
    return(reduce(lambda x,y: x*10 + y, map(char2num, s)))

def num2str(n):
    ''' 数字转字符串  取余数add进list,
    取整循环到上一位, list -1 反序,
    map找到对应char, reduce连接成字符串'''
    L = []
    while n > 0:
        L.append(n % 10)
        n = n // 10
    return(reduce(lambda x,y: x+y, map(num2char, L[::-1])))

def int2dec(n):
    ''' 整数转为0. 开头的小数'''
    # 这里的问题是整数没有len需要把数字转为字符求len,再除 10的阶乘
    return(n/10**len(num2str(n)))

def str2float(s):
    ''' 字符串转浮点数 '''
    # 这里的逻辑是把字符串按“.”分成两段,xy正常都转为正整数,y变为0.开头小数,然后相加。
    return(reduce(lambda x,y: x+int2dec(y), map(str2num, s.split('.'))))


###  Test
#print(char2num('0'))
#print(str2num('111'))
#print(num2str(1))
#print(int2dec(123))
print(str2float('123.123'))

 

Field-Oriented Control (FOC) 矢量控制 磁场定向控制 Field-Oriented Control (FOC) 磁场定向控制(FOC),也称为矢量控制,是一种用于控制永磁同步电动机(PMSM)和交流感应电动机(ACIM)的技术。 FOC在整个扭矩和速度范围内都具有良好的控制能力。 FOC的实现需要将定子电流从固定参考系转换为转子磁通参考系(也称为d-q参考系)。 速度控制和转矩控制是FOC最常用的控制模式。位置控制模式不太常见。大多数牵引应用使用转矩控制模式,在该模式下,电动机控制系统遵循参考转矩值。在速度控制模式下,电机控制器遵循参考速度值,并生成用于形成内 阅读详情

相关推荐

材料力学小白必看:纯弯曲正应力计算全解析(附实例演示)

本文详细解析了材料力学中纯弯曲正应力的计算原理与工程应用,通过实例演示帮助初学者掌握关键公式和计算流程。内容涵盖纯弯曲的基本假设、正应力分布规律、截面特性计算,以及现代工具如Excel、ANSYS和Python在应力分析中的应用,特别适合材料力学小白系统学习。

sea99的博客 1232

npm install过程中python报错

最近将Mac系统升级到Ventura 13.4.1后发现python的默认版本为python3了,导致以前的旧项目在安装以来时报错,旧项目依赖的是python2。上面是指定python的版本为python2,就不需要改动系统默认的python版本了。

判断一个点是否在闭合曲线内 2946

手把手教你用STM32F103的普通IO口读取SSI编码器(附完整代码与示波器调试心得)

本文详细介绍了如何利用STM32F103的普通IO口读取SSI绝对式编码器数据,提供完整的硬件连接方案、精确时序控制的软件实现及示波器调试技巧。通过低成本方案实现高精度位置反馈,适用于工业自动化和机器人控制领域。

weixin_29172963的博客 452

python打开文件_Python | Python3 安装及配置环境变量

长篇多图预警!!!超详细的安装步骤流程,从下载到你的第一个Python代码!文末有pip更新和安装第三方库的方法~win键就是键盘上一个Microsoft(微软)图案(四个方块)的Python3安装及配置环境变量一、从官网下载Python1.打开浏览器,在搜索引擎中搜索Python,找到Python官网,如下图所示。2.进入官网,点击Downloads,下载最新版本。点击上图中黄色框会...

weixin_39898011的博客 617

安装 Claude Code 并接入阿里云百炼(Bailian)

这些工具通常提供可视化界面,只需在设置中填入阿里云百炼的 API Key 和 Base URL 即可,无需配置环境变量。注意:如果你使用的是阿里云百炼的 Coding Plan 套餐,请使用该套餐专属的 API Key 和 Base URL。你可以使用文本编辑器打开该文件,或者在终端使用命令(如 macOS/Linux 下使用 nano ~/.claude/settings.json)。你可以直接用自然语言下达指令,例如:“帮我在这个目录下写一个 Python 脚本,实现两数之和的功能”。

hopsky的博客 1844

RK3399外设驱动之MIPI

RK3399外设驱动之MIPI 文章目录RK3399外设驱动之MIPIMIPI命令解析入口代码mipi显示配置实例rk3399mipi驱动rk mipi驱动注册过程rk32_mipi_dsi.c解析 内核版本 Linux4.4 平台 rk3399 作者 nineyole MIPI命令解析入口代码 MIPI的入口代码如下:kernel\drivers\video\rockchip\screen\lcd_mipi.c static int __init rk_mipi_screen_in

学无止境 2228

npm install时python版本问题

前端npm install

qq_41955031的博客 3222

UEFI 基础教程 (零) - 目录

UEFI 基础教程 (十八) — UEFI Build Process简单分析。UEFI 基础教程 (十五) — 获取UEFI MemoryMap。UEFI 基础教程 (六)   —  PROTOCOL 简单使用。UEFI 基础教程 (十)   —  FileIO 简单使用。UEFI 基础教程 (一)   —  搭建UEFI开发环境。UEFI 基础教程 (九)   —  EVENT 简单使用。UEFI 基础教程 (七)   —  HOB 简单使用。UEFI 基础教程 (八)   —  PCD 简单使用。..

技术联盟 1536

自学python笔记9 -- map/reduce

''' map/reduce ''' ''' def f(x):     return x * x r = map(f,list(range(1,10))) print(list(r)) print(list(map(str,[1,2,3,4,5,6,7]))) from functools import reduce def fn(x,y):     return x *10 + y  ...

yuer1304587444的博客 273

实战|2026美团&大众点评餐饮数据抓取:Playwright/Selenium反爬全攻略

核心结论:2026年美团&大众点评的反爬核心是“多维度风控”,需组合使用“住宅IP+设备指纹伪装+真人行为模拟+动态验证处理”,Playwright是最优工具,Selenium仅作为补充。效率优化:单机爬取速度建议控制在“每小时500-800条”,避免高频请求触发风控;分布式爬取需确保每个节点使用独立住宅IP,且行为轨迹不一致。扩展方向集成WASM解密工具,破解2026年美团的Token加密;用AI识别动态点选验证,提升验证通过率;对接大数据平台,对抓取的餐饮数据进行可视化分析。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 2461

openlayers全面教程306+【目录】

vue+openlayers系列教程旨在为开发者提供简单快捷的示例。在每一个示例中,解释相应的API知识点。

大剑师兰特的GIS世界 2万+

macOS-npm-gyp-Python报错

本文详细分析了 macOS 下 `npm install` 报 `gyp ERR: Can't find Python executable` 错误的根本原因(node-gyp 无法定位 Python),提供了设置 `PYTHON` 环境变量、创建软链接、npm config 指定三种解决方案并进行对比。同时给出了包含 Node 版本、Xcode CLI、Python 路径、芯片架构等维度的完整排查清单,以及 Apple Silicon 和 Intel Mac 的路径差异说明,适合 macOS 开发者在搭建

ShaoXia1216的博客 681

tar解压报错 gzip: stdin: unexpected end of file tar: Unexpected EOF in archive

错误现象: [root@centos7-xinsz08 ~]# tar xf prometheus-2.7.2.linux-amd64.tar.gz gzip: stdin: unexpected end of file tar: 归档文件中异常的 EOF tar: 归档文件中异常的 EOF tar: Error is not recoverable: exiting now 错误原因排查 ...

互联网老辛 2万+

Python函数式编程--高阶函数(map/reduce)+filter + sorted

函数式编程的一个特点就是,允许把函数本身作为参数传入另一个函数,还允许返回一个函数! Python对函数式编程提供部分支持。由于Python允许使用变量,因此,Python不是纯函数式编程语言。 >>> abs(-10) 10 >>> f = abs >>> f(-10) 10 ## 说明变量f现在已经指向了abs函数本身。直接...

aoduanrou3097的博客 233

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

11 个 Python 教程来炫耀你的高级技能

这是 Python Interpreter 的一个有趣的小技巧,我们可以使用一个下划线来简单地获取最后一个表达式的值。Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。(全套教程文末领取哈)

Yuki1127918的博客 440

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

python定义一个求和函数_Python练习题-1.使用匿名函数对1~1000求和,代码力求简洁。...

Python 练习标签: Python Python练习题 Python知识点一.使用匿名函数对1~1000求和,代码力求简洁。答案:In [1]: from functools import reduceIn [2]: print(reduce(lambda x, y: x + y, range(1, 1001)))Out[2]: 500500知识点:1. 匿名函数:lambda 参数:表达式l...

weixin_39894255的博客 997

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

【百度领航团/飞桨/AI Studio】Python 学习笔记 —— 03

前言:第三节课的重点是讲述函数(对象)。之前在这一块很是迷惑。因为带着学过c#的思维理解(而且没学过函数指针),所以一直不能理解python中将函数或是类当作参数传来传去的操作。甚至是返回的参数是就是一个函数或是一个类,一个对象这类的。经过这一节课后,懂了不少。 目录《百度飞桨领航团零基础Python速成营》 课程笔记 —— 03一、函数 - 定义语法二、函数 - 参数传递1)位置参数2)缺省参数3)可变参数4)关键字参数5)命名关键字参数6)参数的组合三、变量的作用域和全局(global)变量四、la.

Lovely_him的博客 1216

Python的惯例

迭代一个数组Python 的for语句并不和C语言的一样,更像其他语言的foreach. 如果你需要在迭代中使用索引,标准的做法是:array = [1, 2, 3, 4, 5] # or whateverfor i in range(len(array)): # Do something with 'i'.这是相当笨拙的,更干净简洁的做法是:array = [1, 2, 3, 4, 5]

poijm 625

Python3 编程面试题

Python global 语句的作用 lambda 匿名函数好处 Python 错误处理 Python 内置错误类型 简述 any() 和 all() 方法 Python 中什么元素为假? 提高 Python 运行效率的方法 Python 单例模式 为什么 Python 不提供函数重载 实例方法/静态方法/类方法 __new__和 __init __方法的区别 Python 的函数参数传递 ...

专注计算机视觉算法训练,算法优化部署以及SDK开发的知识分享。 279

函数进阶&变量作用域&生成器&可迭代对象&迭代器

py笔记

sz1125218970的博客 238

Python基础教程

Python基础 介绍 输入和输出 所有的通过input获取的数据,都是字符串类型 print() 变量 程序就是用来处理数据的,而变量就是用来存储数据的 变量在程序中就是用一个变量名表示了,变量名必须是大小写英文、数字和_的组合,且不能用数字开头 可以使用type(变量的名字),来查看变量的类型 在Python中,等号=是赋值语句,可以把任意数据类型赋值给变量,同一个变量可以反复赋值,而且可以是不同类型的变量 这种变量本身类型不固定的语言称之为动态语言,与之对应的是静态语言。静态语言在定义变量时必

qq_44842956的博客 1091

用python输出12和8的最大公_重点汇总-python常见问题1

1. 简述函数式编程解释一: 在函数式编程中,函数是基本单位,变量只是一个名称,而不是一个存储单元。除了匿名函数外,Python还使fliter(),map(),reduce(),apply()函数来支持函数式编程。解释二: 廖---函数是Python内建支持的一种封装,我们通过把大段代码拆成函数,通过一层一层的函数调用,就可以把复杂任务分解成简单的任务,这种分解可以称之为面向过程的程序设计。函...

weixin_31036949的博客 483

python3语法 余数不等于0_Python3 语法总结

Python 基础数据类型和变量整数: 1, -1, 0; 十六进制: 0xab浮点数: 1.23, -1.23, 1.23e9, 12.3e8, 1.2e-5字符串: '', "", r''(不转义), '''...'''(表示多行内容), r'''...'''布尔值: True, False(运算符 and, or, not)空值:None变量:变量名必须是大小写英文、数字和_的组合,且不能用...

weixin_39883440的博客 663

Python 最频繁使用的4个函数:lambda、 map、filter 和 reduce

Python 提供了非常多的库和内置函数。有不同的方法可以执行相同的任务,而在 Python 中使用最为频繁函数莫过于:lambda()、 map()、filter() 和 reduce() 函数,今天我将和大家一起研究学习,喜欢记得收藏、关注、点赞。 【注】代码、资料、交流文末获取 Lambda 函数简介 Lambda函数也被称为匿名(没有名称)函数,它直接接受参数的数量以及使用该参数执行的条件或操作,该参数以冒号分隔,并返回最终结果。为了在大型代码库上编写代码时执行一项小任务,或者在函数中执行一项小任务

Python学习与数据挖掘 3173

Python中lambda详解(包括内置函数map、reduce、filter、sorted、max)

文章目录一、lambda是什么?1. lambda语法2. lambda语法具体介绍二、lambda的使用1. 定义2. 调用3. 替换4. 作返回值三、lambda作为参数1. map函数2. reduce函数3. filter函数4. sorted函数5. 在字典中的用例总结 一、lambda是什么? python 使用 lambda 来创建匿名函数。 对比使用def关键字创建的是有名字的函数,使用lambda关键字创建则是没有名字的函数。 1. lambda语法 其语法是唯一的,其形式如下: l..

诚邀网络通信领域商务合作 2925

python中lambda以及与filter/map/reduce结合的用法

一、lambda函数即匿名函数,和普通的函数相比,就是省去了函数名称而已; lambda语句中,冒号前是参数,可以有多个,用逗号隔开,冒号右边是函数体的返回值 g = lambda x,y : x+y print g(1,2) 与函数等同: def f(x,y):   return x+y print f(1,2) 二、lambda函数作用: 使用Python写一些执行脚本时,使用lambda可以省去定义函数的过程,让代码更加精简。 对于一些抽象的,无需复用的函数,使用lambda不需要考虑命

Python热爱者的博客 375
上一篇: RHEL7 Install SpaceVim+neovim for Python3.9
下一篇: 01 - MacBook pro 安装 Manjaro
selfsource
博客等级 码龄18年 0粉丝 15原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值