9404803 发表于 2018-8-10 06:07:24

Python学习笔记__4.1.3章 sorted

  # 这是学习廖雪峰老师python教程的学习笔记
  1、概览
  Python内置的sorted()函数可以对list进行排序。
  sorted()函数也是一个高阶函数,它可以接收一个key函数来实现自定义的排序,key指定的函数将作用于list的每一个元素上,并根据key函数返回的结果进行排序
  # 直接排序
  >>> sorted()
  [-21, -12, 5, 9, 36]
  # 接受key函数排序
  >>> sorted(,key=abs)
  
  # 按 字母表 顺序排序
  >>> sorted(['bob', 'about', 'Zoo', 'Credit'], key=str.lower)# sorted默认是按 ASCII 码排序,而 Z>a ,所以需要加key函数
  ['about', 'bob', 'Credit', 'Zoo']
  2、例子
  1、假设我们用一组tuple表示学生名字和成绩:L = [('Bob', 75), ('Adam', 92), ('Bart', 66), ('Lisa', 88)]
  请用sorted()对上述列表分别按名字排序:
  # -*- coding: utf-8 -*-
  L = [('Bob', 75), ('Adam', 92), ('Bart', 66), ('Lisa', 88)]
  #按姓名排序
  def by_name(t):
  return t
  #按成绩排序。-t,则分数越高,加上负号就越小,就越靠前
  def by_score(t):
  return -t
  #测试
  L2 = sorted(L, key=by_name)
  print(L2)
  #按姓名排序
  [('Adam', 92), ('Bart', 66), ('Bob', 75), ('Lisa', 88)]
  #按成绩排序
  [('Adam', 92), ('Lisa', 88), ('Bob', 75), ('Bart', 66)]
页: [1]
查看完整版本: Python学习笔记__4.1.3章 sorted