摘要:
高阶函数——filter() 1. filter()函数用于过滤序列,作用是从一个序列中筛选出符合条件的元素。 2. filter()把传入的函数一依次作用于每个元素,然后根据返回值是 True 还是 False 来判断是否留下该元素。 3. filter()函数第一个参数接收一个函数,第二个参数接 阅读全文
摘要:
一、map函数 map 函数接收两个参数,一个是函数,另一个是 Iterable,map 将传入的函数依次作用到序列的每个元素,并把结果作为新的 Iterator 返回 例如: >>> def f(x): return x*x >>> l=[1,2,3,4,5,6,7,8,9] >>> r=map( 阅读全文
摘要:
一、函数式编程 函数式编程(Functional Programming):允许函数本身作为参数传入另一个函数,还允许返回一个函数。 二、高阶函数 1. 变量可以指向函数 2. 函数名也是变量 3. 一个函数可以接收另一个函数作为参数,这种函数就称为高阶函数 >>> def add(x,y,f): 阅读全文
摘要:
一、可迭代对象 1. 可以直接作用于 for 循环的对象统称为可迭代对象:Iterable 2. 可直接作用于 for 循环的对象: 一类是集合数据类型:list、tuple、dict、set、str等 一类是 generator,包括生成器和带 yield 的 generator function 阅读全文
摘要:
输入:年、月 输出:这一年的这个月所对应的总天数 #include<stdio.h> int main() { int y,m; scanf("%d\%d",&y,&m); if(m==2) { if((y%4==0&&(y%100)!=0)||(y%400==0))//判断是否为闰年 printf 阅读全文
摘要:
杨辉三角 把每一行看做一个list,试写一个generator,不断输出下一行的list: >>> def triangles(): t = [1] while True: yield t t = [1] + [t[n] + t[n + 1] for n in range(len(t) - 1)] 阅读全文
摘要:
生成器 1. 生成器(generator):一边循环一边计算的机制。用生成器不必创建一个完整的list,这样就可以节省大量的空间。 2. 创建一个生成器有很多种方法。 第一种:把一个列表生成式的【】改为(),即可创建一个生成器 >>> L=[x*x for x in range(1,11)] >>> 阅读全文
摘要:
列表生成式 1. 列表生成式(list comprehensions),是python内置的可以创建 list 的生成式 如: 生成一个list,【1,2,3,4,5,6,7,8,9,10】,可以用range() >>> list(range(1,11)) [1, 2, 3, 4, 5, 6, 7, 阅读全文
摘要:
迭代 1. 如果给定一个list或tuple,我们可以用for循环来遍历这个list或tuple,这种遍历称为迭代(iteration) 2. 在python中,迭代是通过 for ... in ... 来实现的,在Java或C中,迭代通过 for(i=0;i<=list.length;i++){x 阅读全文
摘要:
切片 1. 可以用切片取一个list或tuple的部分元素,如: 有一个list L=【1,2,3,4,5,6】 >>> L=[1,2,3,4,5,6] 取L的前三个元素: >>> L[0:3] [1, 2, 3] #也可以把0省去 >>> L[:3] [1, 2, 3] 切片L【0,n】是从0开始 阅读全文