阅读大概需要3分钟

跟随小博主,每天进步一丢丢

今天总共说下四个函数:assert,map,filter,reduce

assert

俗称 断言!就是说断言一件事,如果是真,程序继续进行;如果是假,则报错。

怎么用捏?

两种用法

  • assert <condition>

  • assert <condition>, <error message>

第一种

def avg(marks):assert len(marks) != 0return sum(marks)/len(marks)mark1 = []
print("Average of mark1:",avg(mark1))

结果为

AssertionError

第二种

def avg(marks):assert len(marks) != 0,"List is empty."return sum(marks)/len(marks)mark2 = [55,88,78,90,79]
print("Average of mark2:",avg(mark2))mark1 = []
print("Average of mark1:",avg(mark1))

结果为

Average of mark2: 78.0
AssertionError: List is empty.

map

很多时候,我们对一个list里的数据进行同一种操作,比如:

items = [1, 2, 3, 4, 5]
squared = []
for i in items:squared.append(i**2)

这个时候,就可以用map操作,格式为:

map(function_to_apply, list_input)

具体操作为

items = [1, 2, 3, 4, 5]
squared = list(map(lambda x: x**2, items))

当然list里可以放函数

def multiply(x):return (x*x)
def add(x):return (x+x)funcs = [multiply, add]
for i in range(5):value = list(map(lambda x: x(i), funcs))print(value)# Output:
# [0, 0]
# [1, 2]
# [4, 4]
# [9, 6]
# [16, 8]

当然也可以进行str2id操作

a = ['5', '2', '3', '4', '5']
print(list(map(int, a)))# [5,2,3,4,5]

filter

filter函数就是对于给定的条件进行筛选,过滤。

number_list = range(-5, 5)
less_than_zero = list(filter(lambda x: x < 0, number_list))
print(less_than_zero)# Output: [-5, -4, -3, -2, -1]

这个可以用在神经网络中是否对部分网络进行fine-tune

if self.args.fine_tune is False:parameters = filter(lambda p: p.requires_grad, model.parameters())
else:parameters = model.parameters()

reduce

reduce就是累计上次的结果,用在当前操作上。比如不用reduce是这样的

product = 1
list = [1, 2, 3, 4]
for num in list:product = product * num# product = 24

用了之后

from functools import reduce
product = reduce((lambda x, y: x * y), [1, 2, 3, 4])# Output: 24

IELTS a bit

colossal adj. 巨大的;广大的;庞大的

deposit n. 存款   v. 将钱存入银行

PS:如果觉得文章对您有一丢丢帮助

欢迎点赞转发

推荐阅读:

一大批历史精彩文章啦

详解文本分类之多通道CNN的理论与实践


介绍4个大神常用而你不常用的python函数相关推荐

  1. 【Python】大神教你五分钟搞清楚Python函数的参数!

    灵活的参数 Python函数的形参种类多,且具有很高的灵活性.我们经常遇到:位置参数.关键词参数.仅限关键字参数.仅限位置参数等等.如果概念没彻底搞清楚,使用起来就不那么顺手. " 提要:参 ...

  2. 几个大神程序猿更喜欢用的Python编辑器!

    作为开发者来说,肯定都有自己比较喜欢使用的编辑器,有的人喜欢这个,有的人喜欢那个,还有的大神就喜欢用记事本,今天小千就来给大家介绍几个大神程序猿更喜欢用的Python编辑器. 1.Sublime Te ...

  3. ❤️MIT大神写给女神的Q版Python画图库—Cutecharts

    MIT大神写给女神的Q版Python画图库-Cutecharts 画图不好看?不可爱?不萌?本文二哥教大家来进行Q版绘图. [建议先点赞.再收藏] 还记得那是一个月黑风高的晚上,一位女同事让我给他讲解 ...

  4. python小白逆袭大神_python小白逆天(3),Python,小白逆袭,大神,三

    Python小白逆袭大神 作业三 作业: 对<青春有你2>对选手体重分布进行可视化,绘制饼状图 这个作业是根据第二天爬取获得的json文件进行数据的处理课可视化. with open('d ...

  5. MIT大神写给女神的Q版Python画图库—Cutecharts

    Cutecharts 还记得那是一个月黑风高的晚上,一位女同事让我给他讲解数据分析结果的时候,我默默的用python画了下面这张图. 依稀记得女同事看了之后,立刻转身离去,并留下了一句"哼, ...

  6. 讲python的东哥_IT大神耗时三年经典之作,2019年Python从入门到精通视频,送你

    这是一份深入底层的每个阶段都会有的项目的python学习教程.可信度很高! 本套Python课程400集,从零基础开始,全面讲解Python基础,直达可以手写神经网络的境界. 我们创造性的增加了:手写 ...

  7. 国外大神一张图学会python-学习Python不得不关注和学习的国外大神博客

    注意 : 本文收集于网路 . 由于常常更新 , 有些链接打不开, 请自备梯子 在学习Python过程中,总会遇到各种各样的坑, 虽然Python是一门优美而简单易学的语言 . 但当学习后 , 总想着更 ...

  8. python分布爬虫_大神教你13天搞定Python分布爬虫(3)

    03. 爬取数据-urllib库 1. 小试牛刀 怎样扒网页呢? 其实就是根据URL来获取它的网页信息,虽然我们在浏览器中看到的是一幅幅优美的画面,但是其实是由浏览器解释才呈现出来的,实质它是一段HT ...

  9. python视频在线教程_600集Python从小白到大神

    600集python从小白到大神,史上最全面的python教程,让学员更好的吸收知识. 教程列表: 80-用户管理-11-chmod演练-R递归修改目录权限 python教程-600集python从小 ...

  10. 酷派android手机怎么截屏,大神F1 Plus怎么截图?3种酷派大神F1 Plus截屏方法图解...

    最近小编家人刚买了一部大神F1 Plsu智能手机,不过由于对这款手机不太了解,以至于如何截图都搞不清楚.大神F1 Plsu怎么截图呢?其实很简单,下面小编介绍3种大神F1 Plus截图方法,希望对新手 ...

最新文章

  1. GinWin命令控制台执行指令
  2. ADAS(1) 概述整理及自动驾驶实例
  3. gnome硬盘分析_解决八种Linux硬盘问题的技巧
  4. 《Python Cookbook 3rd》笔记(2.16):以指定列宽格式化字符串
  5. JAVA可不可以编写应用程序_编写一个java应用程序
  6. [坐标]关于坐标系和投影的相关知识探讨[转]
  7. leetcode - 474. 一和零
  8. ORACLE11g安装过程-windows
  9. 视频讲解(RCNN,FasterRCNN,FPN,MaskRCNN)
  10. zabbix自动发现url以及对http返回状态码监控实现
  11. layui框架简单解读,为什么要使用layui框架,layui框架的好处,后端程序员快速学习掌握layui框架技术型文档博文,layui学习笔记,快速掌握前端技术框架
  12. Idea导出项目jar包
  13. jap里的java文件代码_jap里的java文件代码
  14. 计算机缺失程序怎么办,win7电脑缺失dll文件软件打不开怎么办
  15. 面部皮肤200种问题_面部皮肤问题
  16. 野指针,数组指针,指针数组
  17. 计算机视觉会议和期刊分类
  18. 微信小程序兼容手机底部横条适配
  19. Visual Studio Code 快捷键 Mac 版
  20. 配置BGP SOO(防环)实例

热门文章

  1. Windows Bash on Ubuntu
  2. C语言精要总结-内存地址对齐与struct大小判断篇
  3. log4j.properties配置文件
  4. 使用.NET框架自带的Json序列化类
  5. CF gym101933 K King's Colors——二项式反演
  6. RESTful源码笔记之RESTful Framework的基本组件
  7. Python并发编程:多线程-Thread对象的其它属性和方法
  8. [bzoj1468][poj1741]Tree_点分治
  9. bzoj 2743spoj DQUERY - D-query
  10. J-Link在SWD模式与MCU能连接成功但不能读写