您的位置:首页 > 编程语言 > Python开发

Python高阶函数

2017-08-13 12:50 225 查看
#coding: gbk
'''
Created on 2017年8月13日

@author: Administrator
'''
from builtins import str
from _functools import reduce
from _ast import Str
from _sre import getlower
from _overlapped import NULL
from _operator import itemgetter
mystr = "ABCDEFG"
"""
for s in mystr:
print(s)
"""

f = abs
print(f(-5))

def add(x,y,f):
return f(x)+f(y)

print(add(5, -6, f))

def fun1(x):
return x*x

l=list(range(10))
r1 =map(fun1 , l)
print('l:'+str(l)) # l:[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
print('r1:'+str(list(r1)))# r:[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]

r2=map(str,l)
print('r2:'+str(list(r2))) #r2:['0', '1', '2', '3', '4', '5', '6', '7', '8', '9']

def myadd(x,y):
return x+y
r3 = reduce(myadd , l)
print('r3:'+str(r3)) #r3:45

def char2num(s):
return {'0': 0, '1': 1, '2': 2, '3': 3, '4': 4, '5': 5, '6': 6, '7': 7, '8': 8, '9': 9}[s]
r4 = map(char2num , '12345')
print(str(list(r4))) #[1, 2, 3, 4, 5]

def first(s):
return s.capitalize()  #首字母大写,其他小写
print(first('sRTSfg')) #Srtsfg

def isodd(n):
return n%2==0

print(list(filter(isodd , l)))  #[0, 2, 4, 6, 8]

print(sorted([36, 5, -12, 9, -21]))#[-21, -12, 5, 9, 36]
print(sorted([36, 5, -12, 9, -21],key = abs))#[5, 9, -12, -21, 36]

print(sorted(['bob', 'about', 'Zoo', 'Credit'])) #['Credit', 'Zoo', 'about', 'bob']
print(sorted(['bob', 'about', 'Zoo', 'Credit'], key=str.lower))#['about', 'bob', 'Credit', 'Zoo']

students = [('Bob', 75), ('Adam', 92), ('Bart', 66), ('Lisa', 88)]

print(sorted(students, key=itemgetter(0))) #[('Adam', 92), ('Bart', 66), ('Bob', 75), ('Lisa', 88)]
print(sorted(students, key=itemgetter(1))) #[('Bart', 66), ('Bob', 75), ('Lisa', 88), ('Adam', 92)]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  python