很多时候,我们需要对List进行排序,Python提供了两个方法,对给定的List
L进行排序:
方法1.用List的成员函数sort进行排序
这两种方法使用起来差不多,以第一种为例进行讲解:
Library
Reference里是这样描述的
复制代码代码如下:
cmp:cmp
specifies
a
custom
comparison
function
of
two
arguments
(iterable
elements)
which
should
return
negative,
zero
or
positive
number
depending
on
whether
the
first
argument
is
considered
smaller
than,
equal
to,
larger
than
second
argument:
"cmp=lambda
x,y:
cmp(x.lower(),
y.lower())"
key:key
one
that
used
to
extract
key
from
each
list
element:
"key=str.lower"
reverse:reverse
boolean
value.
If
set
True,
then
elements
are
sorted
as
if
were
reversed.In
general,
and
reverse
conversion
processes
much
faster
specifying
an
equivalent
cmp
function.
This
because
called
multiple
times
for
element
while
touch
only
once.
以下是sort的具体实例.
实例1:
L
=
L.sort()
L.sort(reverse=True)
L.sort(cmp=lambda
x,y:cmp(x[1],y[1]))
[('a',
①.),
('b',
('c',
('d',
L.sort(key=lambda
x:x[1])
import
operator
L.sort(key=operator.itemgetter(1))
A
[(x[1],i,x)
i,x
in
enumerate(L)]
#i
can
confirm
stable
sort
A.sort()
s
A]
item中的某一项
为比较关键字进行排序.
效率比较:
DSU
多关键字比较排序:
[('d',
('a',
我们看到,此时排序过的L是仅仅按照第二个关键字来排的,如果我们想用第二个关键字
排过序后再用第一个关键字进行排序呢?有两种方法
x:(x[1],x[0]))
[('c',
L.sort(key=operator.itemgetter(1,0))
相等,比较第二个
Python学习小技巧之列表项的排序
本文介绍的是关于Python列表项排序的相关内容,分享出来供大家参考学习,下面来看看详细的介绍:
典型代码1:
data_list.sort()
print(data_list)
输出1:
data_list_copy = sorted(data_list)
print(data_list_copy)
应用场景
data_list.sort(key=lambda x: x[1]) # 我们想要基于列表项的第二个数进行排序
另外一个经常使用的参数是reverse,用来指定是否按照倒序排序,默认为False:
data_list.sort(key=lambda x: x[1], reverse=True) # 我们想要基于列表项的第二个数进行排序,并倒序
带来的好处
① 内置的排序方法,执行效率高,表达能力强,使代码更加紧凑,已读
其它说明
① sorted内置函数比列表的sort方法要适用范围更广泛,它可以对除列表之外的可迭代数据结构进行排序;
总结
以上就是土嘎嘎小编为大家整理的列表排序python函数相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!