python sorted()用法,结合lambda匿名函数,实现简洁的排序

    技术2022-07-10  133

    有一道题: 按ip的地址最后一位排序 import re string = '192.0.0.0?!289.0.0.1!0.0.0.0!192.163.10.28?192.0.0.1' str_list = re.split('\?!|\?|\!',string) new_list = sorted(str_list,key = lambda x:x[-1]) #由于没见过sorted()函数,所以学习了廖雪峰的教程后写下了本人的感悟 key是自定义函数 reverse=False,升序(默认) reverse=True,倒序 #不区分大小写排序 sorted(['bob', 'aBout', 'ZOO', 'Credit'],key=str.lower) #按绝对值排序 sorted([36, 5, -12, 9, -21], key=abs) L = [('Bob', 75), ('adam', 92), ('Bart', 66), ('Lisa', 88)] # key 相当于遍历了L,即x = [i for i in L],那么x[0]取的就是元组的第一个值 #按姓名排序 print(sorted(L,key=lambda x:x[0])) #按姓名排序不分大小写 print(sorted(L,key=lambda x:x[0].lower())) #按成绩倒序排序 print(sorted(L,key=lambda x:x[1],reverse=True))
    Processed: 0.012, SQL: 9