#sorted 排序算法
arr =input()
num =[int(n)for n in arr.split()]print(sorted(num,key=abs))print(sorted([36,5,-12,9,-21], key=abs))#绝对值
L =[('Bob',75),('Adam',92),('Bart',66),('Lisa',88)]defby_name(t):return t[0].lower()#将字符串中的所有大写字母转换为小写字母。defby_name(t):return t[0].upper()#upper()字符串中字母由小写变为大写defby_name(t):return t[0].capitalize()#capitalize() 是字符串的一个方法,用于把字符串的第一个字母转换成大写defby_name(t):return t[0].title()
L2 =sorted(L,key=by_name)
L =[('Bob',75),('Adam',92),('Bart',66),('Lisa',88)]defby_score(t):return t[1]
L2 =sorted(L, key=by_score)print(L2)[('Adam',92),('Lisa',88),('Bob',75),('Bart',66)]#返回函数deflazy_sum(*args):defsum():
ax=0for n in args:
ax=ax+n
return ax
returnsum#调用lazy_sum返回的是求和函数
f= lazy_sum(1,3,5,7,9)print(f)
f1 = lazy_sum(1,3,5,7,9)
f2 = lazy_sum(1,3,5,7,9)
f1==f2#False 每次调用都会返回一个新的函数#闭包defcount():
fs=[]for i inrange(1,4):deff():return i*i
fs.append(f)# append()# 给列表添加列表 给列表添加字符串,字符串必须引号,给列表添加整数return fs
f1,f2,f3=count()#返回的函数引用了变量i,返回函数不要引用任何循环变量,或者后续会发生变化的变量defcount():deff(j):defg():return j*j
return g()
fs=[]for i inrange(1,4):
fs.append(f(i))#f(i)立刻执行return fs
f1, f2, f3 = count()print(f1())print(f2())print(f3())# 利用闭包返回一个计数器函数,每次调用它返回递增整数:defcreateCounter():
x =0defcounter():nonlocal x
# 在函数内部创建一个函数,该函数使用变量 x 作为非局部变量:
x = x +1return x