冰箱里的猪

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

2016年2月15日

摘要: 排序也是在程序中经常用到的算法。无论使用冒泡排序还是快速排序,排序的核心是比较两个元素的大小。如果是数字,我们可以直接比较,但如果是字符串或者两个dict呢?直接比较数学上的大小是没有意义的,因此,比较的过程必须通过函数抽象出来。 Python内置的sorted()函数就可以对list进行排序: sorted([36, 5, -12, 9, -21]) 此外,sorted()函数也是一个高阶函数... 阅读全文
posted @ 2016-02-15 06:35 冰箱里的猪 阅读(535) 评论(0) 推荐(0) 编辑

摘要: map()函数接收两个参数,一个是函数,一个是Iterable,map将传入的函数依次作用到序列的每个元素,并把结果作为新的Iterator返回。 map()传入的第一个参数是f,即函数对象本身。由于结果r是一个Iterator,Iterator是惰性序列,因此通过list()函数让它把整个序列都计算出来并返回一个list。 def f(x): return x * x r = map(f... 阅读全文
posted @ 2016-02-15 05:58 冰箱里的猪 阅读(144) 评论(0) 推荐(0) 编辑

摘要: 通过列表生成式,我们可以直接创建一个列表。但是,受到内存限制,列表容量肯定是有限的。而且,创建一个包含100万个元素的列表,不仅占用很大的存储空间,如果我们仅仅需要访问前面几个元素,那后面绝大多数元素占用的空间都白白浪费了。 所以,如果列表元素可以按照某种算法推算出来,那我们是否可以在循环的过程中不断推算出后续的元素呢?这样就不必创建完整的list,从而节省大量的空间。在Python中,这种一边循... 阅读全文
posted @ 2016-02-15 05:42 冰箱里的猪 阅读(151) 评论(0) 推荐(0) 编辑