![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Python
文章平均质量分 82
LoveSummer3
11111
展开
-
Python学习笔记3.1.3 函数式编程(Functional Programming)之高阶函数(sorted,排序)
排序也是在程序中经常用到的算法。无论使用冒泡排序还是快速排序,排序的核心是比较两个元素的大小。如果是数字,我们可以直接比较,但如果是字符串或者两个dict呢?直接比较熟悉而上的大小是没有意义的,因此,比较的过程必须通过函数抽象出来。Python内置的sorted()函数就可以对list进行排序:此外,sorted()函数也是一个高阶函数,它还可以接受一个key函数来实现自定义的排序,例如按绝对值大小排序:key指定的函数将作用在list的每一个元素上,并根据key函数返回的结果进行排序,对比原始原创 2024-08-20 21:51:37 · 236 阅读 · 0 评论 -
Python学习笔记3.1.2 函数式编程(Functional Programming)之高阶函数(filter)
和map()不同的是,filter()把传入的函数依次作用于每个元素,然后根据返回值是True还是False决定保留还是丢弃该元素。注意到filter()函数返回的是一个Iterator,也就是一个惰性序列,所以要强迫filter()完成计算结果,需要用list()函数获得所有结果并返回list。注意到Iterator是惰性计算的序列,所以我们可以用Python表示”全体自然数“,”全体素数“这样的序列,而代码非常简洁。这个生成器先返回第一个素数2,然后,利用filter()不断产生筛选后的新的序列。原创 2024-08-15 11:12:06 · 425 阅读 · 0 评论 -
Python学习笔记3.1.1 函数式编程(Functional Programming)之高阶函数(map/reduce)
利用map()函数,把用户输入的不规范的英文名字,变为首字母大写,其他小写的规范名字。或者用name.title,因为在python中不存在title函数,其是一个字符串对象的方法,作用是:将字符串中的每个单词的首字母大写,其余字母小写。函数是python内建支持的一种封装,我们通过把大段代码拆成函数,通过一层一层的函数调用,就可以把复杂任务分解程简单的任务,这种分解可以称之为。map()函数接收两个参数,一个是函数,一个是Iterable(这个前文中有提到,即可用于for循环的一系列数据类型),原创 2024-08-14 20:48:06 · 652 阅读 · 0 评论 -
python 学习笔记2 高级特性
可以把这个数据流看做时一个有序序列,但我们却不能提前知道序列的长度,只能不断通过next()函数实现按需计算下一个数据,所以Iterator的计算是惰性的,只有在需要返回下一个数据时它才会计算。而且,创建一个包含100万个元素的列表,不仅占用很大的存储空间,如果我们仅仅需要访问前面几个元素,那后面绝大多数元素占用的空间都白浪费了。我们讲过,generator保存的是算法,每次调用next(g),就计算出g的下一个元素的值,知道计算到最后一个元素,没有更多的元素时,抛出StopIteration的错误。原创 2024-08-14 11:28:07 · 1008 阅读 · 0 评论 -
Python学习笔记1 函数
如果要定义一个函数,要使用def语句,依次写出函数名、括号、括号中的参数和冒号:,然后,在缩进快中编写函数体,函数的返回值用return语句返回。原创 2024-08-12 16:55:30 · 457 阅读 · 0 评论