sorted()函数的用法
sorted(list,key=fun),其中list是待排序的列表,key=fun中为自定义的排序方法
sorted函数可以根据用户自定义的排序方法将一个列表排序
a = [2,222,111,321,1,22,15,458,355,77]
#自定义排序方法。sorted会迭代将元素运算后返回,直接返回会按照默认方式排序
def b(s):
return s
c = sorted(a,key=b)
print(c)
#结果:[1, 2, 15, 22, 77, 111, 222, 321, 355, 458]
def f(s):
return len(str(s))
c = sorted(a,key=f)
print(c)
#结果:[2, 1, 22, 15, 77, 222, 111, 321, 458, 355]
a = a = [{'name':'acc','points':223},{'name':'aabb','points':78},{'name':'wh','points':2},{'name':'ca','points':33},]
def di(s):
return s['name']
c = sorted(a,key=di)
print(c)
#结果:[{'name': 'aabb', 'points': 78}, {'name': 'acc', 'points': 223}, {'name': 'ca', 'points': 33}, {'name': 'wh', 'points': 2}]
def dd(s):
return len(s['name'])
c = sorted(a,key=dd)
print(c)
#结果:[{'name': 'wh', 'points': 2}, {'name': 'ca', 'points': 33}, {'name': 'acc', 'points': 223}, {'name': 'aabb', 'points': 78}]
c = sorted(a,key=lambda i:i['points'])
print(c)
#结果:[{'name': 'wh', 'points': 2}, {'name': 'ca', 'points': 33}, {'name': 'aabb', 'points': 78}, {'name': 'acc', 'points': 223}]