本文主要是介绍Python学习笔记7——Sorted及返回函数,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
#sorted函数可直接用于对list进行排序,同时还可以接收一个key函数用来对list进行自定义的排序
#比如按照绝对值排序
sorted(range(-5,5),key=abs)
#忽略大小写对字符串列表进行排序
sorted(['Abd','asdf','fd','zdfe','fdZ','Fe','Sd','FB','ew','Gr'],key=str.upper)
#反向排序(倒叙),仅需要在排序函数中加入 reverse=True便可
sorted(['Abd','asdf','fd','zdfe','fdZ','Fe','Sd','FB','ew','Gr'],key=str.upper, reverse=True)
#对进行排序
#根据姓名进行排序
L = [('Bob', 75), ('Adam', 92), ('Bart', 66), ('Lisa', 88)]
def by_name(t):return t[0].upper()
print(sorted(L,key=by_name))
#根据成绩由高到低排序
def by_score(t):return -t[1]
print(sorted(L,key=by_score))#函数既可以返回计算结果,也可以返回计算函数
#返回一个函数时,该函数并未执行,返回函数中也不能引用任何可能会变化的变量,若一定要引用可能会变化的变量,那么需要创建一个函数,用该函数的参数来绑定可变变量当前的值
def count():def f(i): #通过参数绑定可变变量当前值return i*i fs=[]for i in range(1,4):#i为可变变量fs.append(f(i))return fs
f1,f2,f3 = count()
print(f1,f2,f3)#利用闭包返回一个计数器函数,每次调用它返回递增整数:
#需要注意:内部函数一般无法修改外部函数的参数;若非要修改则需在内部函数中用nonlocal声明;内部函数可以修改外部list的元素
def createCounter():num = 0def counter():nonlocal numnum+=1return numreturn counter
这篇关于Python学习笔记7——Sorted及返回函数的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!