Python列表排list . sort的就序用法和内置函数排序的用法是什么

  介绍

本篇内容主要讲解“Python列表排序列表。类的用法和内置函数排序的用法是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python列表排list . sort的就序用法和内置函数排序的用法是什么”吧!

很多时候我们获取到一个列表后,这个列表并不满足我们的需求,我们需要的是一个有特殊顺序的列表。

这时候就可以使list . sort方就用法和内置函数分类,本文就是介list . sort方就绍法和分类内置函数的使用方法和区别。

一、list.sort方法

列表。这种方法会就地排序列表,也就是说不会把原列表复制一份。这也是这个方法的返回值是没有的原因,提醒您本方法不会新建一个列表。

在这种情况下返回没有其实是Python的一个惯例:如果一个函数或者方法对对象进行的是就地改动,那它就应该返回,好让调用者知道传入的参数发生了变动,而且并未产生新的对象。

来看一下代码:

#,编码=utf - 8   时间=list_a [1,, 2,,,, 3,, 7日,9日,5日,7]   #,sort()方法没有返回值   时间=list_b  list_a.sort ()   打印(“list_a:,,,, list_a)   打印(& # 39;list_b: & # 39;,, list_b)

运行结果:

list_a:, (1, 2, 3, 5, 7, 7, 8, 9)   list_b:没有

用返回没有来表示就地改动这个惯例有个弊端,那就是调用者无法将其串联起来。而返回一个新对象的方法则正好相反,它们可以链式调用,从而形成连贯接口。

二、分类内置函数

与列表。排序相反,内置函数排序会新建一个列表作为返回值。

这个方法可以接受任何形式的可迭代对象作为参数,甚至包括不可变序列或生成器,而不管分类接受的是怎样的参数,它最后都会返回一个列表。

代码示例:

list_c =,(1,, 2,,,, 3,, 7日,9日,5日,7]   #,分类内置函数会返回一个排序后的新列的表   时间=list_d 排序(list_c)   打印(“list_c:,,,, list_c)   打印(& # 39;list_d: & # 39;,, list_d)

运行结果:

list_c:,(1,, 2,,,, 3,, 7日,9日,5日,7]   list_d:, (1, 2, 3, 5, 7, 7, 8, 9)

可以看的到,使用内置函数排序时,返回了一个新的列的表,而原列表没有发生改变。

<强>这有两种好处:

1。如果我们即需要使用原列表,也需要使用排序后的列表,或者说我们要将一个非列表的可迭代对象排序成列的表,分类都可以做到

2。有返回值时,我们可以进行链式调用

#,可以对非列表的可迭代对象排序生成列的表   时间=str_e  & # 39; python # 39;   时间=list_e 排序(str_e)   打印(list_e)   ,   #,链式调用=str_f  & # 39; & # 39; . join(排序(str_e)) .upper () .split (& # 39; & # 39;)   打印(str_f)

运行结果:

[& # 39; h # 39;,, & # 39; n # 39;,, & # 39; o # 39;,, & # 39; p # 39;,, & # 39; t # 39;,, & # 39; y # 39;】   [& # 39;h # 39;,, & # 39; n # 39;,, & # 39; o # 39;,, & # 39; p # 39;,, & # 39; t # 39;,, & # 39; y # 39;]

三,关键字参数的关键和反向

不管是列表。这种方法还是排序函数,都有两个可选的关键字参数:

<代码>关键:

接收一个只有一个参数的函数,这个函数会被用在序列里的每一个元素上,所产生的结果将是排序算法依赖的对比关键字。

比如说,在对一些字符串排序时,可以用关键=str。低来实现忽略大小写的排序,或者是用关键=len进行基于字符串长度的排序。key的默认值是恒等函数,也就是默认用元素自己的值来排序。

<代码>相反:

如果被设定为真,被排序的序列里的元素会以降序输出(也就是说把最大值当作最小值来排序),反向的默认值是错误的。

 phone =,(& # 39;华为# 39;,,& # 39;朋友# 39;,,& # 39;mi # 39;,, & # 39;魅族# 39;,,& # 39;体内# 39;)
  #,按长度进行排序
  时间=phone_list 排序(电话,关键=兰)
  打印(phone_list)
  ,
  phone_list_re =,排序(电话,,关键=len,反向=True)
  打印(phone_list_re) 

运行结果:

[& # 39; mi # 39;,, & # 39;朋友# 39;,,& # 39;体内# 39;,,& # 39;魅族# 39;,,& # 39;华为# 39;】   [& # 39;华为# 39;,,& # 39;魅族# 39;,,& # 39;朋友# 39;,,& # 39;体内# 39;,,& # 39;mi # 39;]

上面的代码中,第一次排序新建了一个按照长度排序的字符串列表第。二次排序是将按长度排序由升序变成了降序。

Python列表排list . sort的就序用法和内置函数排序的用法是什么