美文网首页
sorted排序

sorted排序

作者: 千寻_足_迹 | 来源:发表于2019-02-02 11:44 被阅读0次

内置函数sorted用于对可迭代对象进行排序。
函数原型: sorted(iterable, * , key=None, reverse=False)

参数说明:
  iterable:可迭代对象,比如列表,字符串,字典等等
  key:作用于可迭代对象的每个元素函数,该函数返回一个新的值,该值参与真正的排序,
      如果key为None,则直接使用可迭代对象元素进行排序
  reverse:是否倒序,默认顺序排序(从小到大),如果设置该值为True,则是从大到小进行排序

元组列表排序

#迭代对象   元素=(名字,成绩)
tuple_l = [('Bob',75), ('Adam', 92), ('Bart', 66), ('Lisa',88)]
#对上门的元组使用名字进行排序
def by_name(t):
  #t:该参数为可迭代对象tuple_l的元素,为一个元组 ('Bob',75)、('Adam',92)、...
  #返回元组的第一个元素返回用于排序,Bob、Adam、Bart、Lisa
  return t[0]

#将可迭代对象tuple_l的每个元素 ('Bob',75)、('Adam',92)、...经过key对应的函数进行转换
#('Bob',75)->by_name(('Bob',75))->'Bob'
#('Adam',92)->by_name(('Adam',92))->'Adam'
#('Bart',66)->by_name(('Bart',66))->'Bart'
#('Lisa',88)->by_name(('Lisa',88))->'Lisa'

sorted_result = sorted(tuple_l, key=by_name) 
= sorted(tuple_l, ('Bob','Adam', 'Bart', 'Lisa'))
print(sorted_result )

#结果
[('Adam', 92), ('Bart', 66), ('Bob', 75), ('Lisa', 88)]

相关文章

网友评论

      本文标题:sorted排序

      本文链接:https://www.haomeiwen.com/subject/qylssqtx.html