PYTHON

来源:互联网 发布:25岁的程序员小张 编辑:程序博客网 时间:2024/05/16 05:18


1.使用reduce实现5!+4!+3!+2!+1!

reduce(lambda x,y:x+y,[reduce(lambda x,y:x*y,range(1,i)) for i in range(2,6)])


2.print 不换行
#2.6,2.7:for i in range(19):      print i,#3.x:for i in range(19):    print(i,end=' ')#end默认为'\n'



3.三目运算符

实现c语言中的condition?true_apart:false_apart

a='he'b=a=='she' and 'girl' or 'boy'print(b)>boya='she'b='girl' if a=='she' else 'boy'print(b)>girl



4.

map(...)    map(function, sequence[, sequence, ...]) -> list      对sequence中的item依次执行function(item),执行结果输出为list。>>> map(str, range(5))           #对range(5)各项进行str操作['0', '1', '2', '3', '4']        #返回列表>>> def add(n):return n+n...>>> map(add, range(5))           #对range(5)各项进行add操作[0, 2, 4, 6, 8]>>> map(lambda x:x+x,range(5))   #lambda 函数,各项+本身[0, 2, 4, 6, 8]>>> map(lambda x:x+1,range(10))  #lambda 函数,各项+1[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]>>> map(add,'zhoujy')            ['zz', 'hh', 'oo', 'uu', 'jj', 'yy']



reduce(...)    reduce(function, sequence[, initial]) -> value      对sequence中的item顺序迭代调用function,函数必须要有2个参数。要是有第3个参数,则表示初始值,可以继续调用初始值,返回一个值。>>> def add(x,y):return x+y...>>> reduce(add,range(10))        #1+2+3+...+945>>> reduce(add,range(11))        #1+2+3+...+1055>>> reduce(lambda x,y:x*y,range(1,3),5)           #lambda 函数,5是初始值, 1*2*510>>> reduce(lambda x,y:x*y,range(1,6))             #阶乘,1*2*3*4*5120>>> reduce(lambda x,y:x*y,range(1,6),3)           #初始值3,结果再*3360>>> reduce(lambda x,y:x+y,[1,2,3,4,5,6])          #1+2+3+4+5+621 




filter(...)    filter(function or None, sequence) -> list, tuple, or string      对sequence中的item依次执行function(item),将执行结果为True(!=0)的item组成一个List/String/Tuple(取决于sequence的类型)返回,False则退出(0),进行过滤。>>> def div(n):return n%2...>>> filter(div,range(5))                    #返回div输出的不等于0的真值[1, 3]>>> filter(div,range(10))[1, 3, 5, 7, 9]>>> filter(lambda x : x%2,range(10))        #lambda 函数返回奇数,返回列表[1, 3, 5, 7, 9]>>> filter(lambda x : not x%2,range(10))[0, 2, 4, 6, 8]>>> def fin(n):return n!='z'                #过滤'z' 函数,出现z则返回False...>>> filter(fin,'zhoujy')                    #'z'被过滤'houjy'>>> filter(lambda x : x !='z','zhoujy')     #labmda返回True值'houjy'>>> filter(lambda x : not x=='z','zhoujy')  #返回:字符串'houjy'



5.求100以内的素数

for i in range(1,100):    if len(list(filter(lambda x:x if i%x==0 else 0,range(i,int(i/2)+1))))==1:        print i


6,print 占位符

m=2print('m=%d' %m)>m=2n='good'print('m=%d, %s' %(m,n))>m=2,good


0 0
原创粉丝点击