Python培训之排列函数sort和sorted的区别

发布时间:2022-10-25 09:34:13 人气:167 作者:多测师

  排序函数介绍:sort()和sorted()都属于Python list的排序方法

  区别:sort()属于永久性排列,直接改变该list; sorted属于暂时性排列,会产生一个新的序列。

  #sorted()

  >>> sorted([5, 2, 3, 1, 4])

  [1, 2, 3, 4, 5]

  #sort()

  >>> L = [5, 2, 3, 1, 4]

  >>> L.sort()

  >>> print L

  [1, 2, 3, 4, 5]

  #sort后会返回None

  def paixu(list):

  return list.sort()

  paixu(['a','f','g','b','a'])

Python培训之排列函数sort和sorted的区别

  #并没输出结果,返回None

  #sorted后会返回列表

  def paixu(list):

  return sorted(list)

  paixu(['a','f','g','b','a'])

  #输出结果

  ['a', 'a', 'b', 'f', 'g']

  以下对常用的sorted进行介绍:

  python 内置的sorted()函数可以对一个list进行排序:

  >>> sorted([8,3,8,11,-2])

  [-2, 3, 8, 8, 11]

  既然说是高阶函数,那么它还可以接受一个key函数来实现自定义的排序,比如按照绝对值大小进行排序:

  >>> sorted([8,3,8,11,-9],key=abs)

  [3, 8, 8, -9, 11]

  key指定的函数将作用于list中的每一个元素上,根据key函数返回的结果进行排序。

  来看看字符串排序的问题:

  >>> sorted(['abc','Abc','Cba','bAc'])

  ['Abc', 'Cba', 'abc', 'bAc']

  默认的,对于字符串,sorted函数按照ASCII的大小进行排序,因为C

  如果我们想要达到忽略大小写的排序,只需要更改一下key函数:

  >>> sorted(['abc','Abc','Cba','bAc'],key=str.lower)

  ['abc', 'Abc', 'bAc', 'Cba']

  以上内容为大家介绍了Python培训之排列函数sort和sorted的区别,希望对大家有所帮助,如果想要了解更多Python相关知识,请关注多测师。https://www.e70w.com/xwzx/


返回列表
在线客服
联系方式

热线电话

17727591462

上班时间

周一到周五

二维码
线