python中sorted
A. 怎样用python将数组里的数从高到低排序
1、首先我们定义一个列表输入一串大小不一的数字。
B. python 为什么sorted()会出现这样的情况
我来回答你这个python问题。
其实python的内置函数list.sort()和sorted(),他们都用来对序列进行排序,但是有区别:
list.sort()是对列表in-place排序(你可以这么理解,就是所有操作都在内存中完成,基于内存地址的排序),注意,返回值是None;
sorted()返回排好序的新列表,原列表不变。
还有一点你可能也要知道,list.sort()只适用于列表,sorted()适用于任意可迭代对象。
所以,你明白了吗?你图中的列表a不变。
C. python中sort用法的问题
sorted是一个函数,函数返回一个排序结果。目标list本身不变
D. python 排序,sort和sorted的区别是什么
Python list内置sort()方法用来排序,也可以用python内置的全局sorted()方法来对可迭代的序列排序生成新的序列。
sorted(iterable,key=None,reverse=False),返回新的列表,对所有可迭代的对象均有效
sort(key=None,reverse=False) 就地改变列表 reverse:True反序;False 正序
E. python 排序,sort和sorted的区别是什么
sort是一个值或变量等的一个树形,对自己的值进行排序。
如
a
=
[1,3,5,7,4,2]
a.sort()之后,再print
a
就会发现a的值已经被排序了。[1,2,3,4,5,7]
sorted是一个命令,可以对任何integer排序。
如
a
=
[2,4,6,8,3,2,1]
sorted(a),输出的就是
[1,2,2,3,4,6,8],可以把他赋给变量b,b
=
sorted(a),这样b就有值了。
再如b
=
sorted('cdefgab'),print
b输出
[a,b,c,d,e,f,g]
b
=
sorted('456321')
,
print
b输出
[1,2,3,4,5,6]
F. Python中怎么向sorted()传递参数reverse=True
1、查看sorted()函数的帮助信息。sorted(iterable,/,*,key=None,reverse=False)。
G. 深入理解python中的排序sort
进行一个简单的升序排列直接调用sorted()函数,函数将会返回一个排序后的列表:
sorted函数不会改变原有的list,而是返回一个新的排好序的list
如果你想使用就地排序,也就是改变原list的内容,那么可以使用list.sort()的方法,这个方法的返回值是None。
另一个区别是,list.sort()方法只是list也就是列表类型的方法,只可以在列表类型上调用。而sorted方法则是可以接受任何可迭代对象。
list.sort()和sorted()函数都有一个key参数,可以用来指定一个函数来确定排序的一个优先级。比如,这个例子就是根据大小写的优先级进行排序:
key参数的值应该是一个函数,这个函数接受一个参数然后返回以一个key,这个key就被用作进行排序。这个方法很高效,因为对于每一个输入的记录只需要调用一次key函数。
一个常用的场景就是当我们需要对一个复杂对象的某些属性进行排序时:
再如:
前面我们看到的利用key-function来自定义排序,同时Python也可以通过operator库来自定义排序,而且通常这种方法更好理解并且效率更高。
operator库提供了 itemgetter(), attrgetter(), and a methodcaller()三个函数
同时还支持多层排序
list.sort()和sorted()都有一个boolean类型的reverse参数,可以用来指定升序和降序排列,默认为false,也就是升序排序,如果需要降序排列,则需将reverse参数指定为true。
排序的稳定性指,有相同key值的多个记录进行排序之后,原始的前后关系保持不变
我们可以看到python中的排序是稳定的。
我们可以利用这个稳定的特性来进行一些复杂的排序步骤,比如,我们将学生的数据先按成绩降序然后年龄升序。当排序是稳定的时候,我们可以先将年龄升序,再将成绩降序会得到相同的结果。
传统的DSU(Decorate-Sort-Undecorate)的排序方法主要有三个步骤:
因为元组是按字典序比较的,比较完grade之后,会继续比较i。
添加index的i值不是必须的,但是添加i值有以下好处:
现在python3提供了key-function,所以DSU方法已经不常用了
python2.x版本中,是利用cmp参数自定义排序。
python3.x已经将这个方法移除了,但是我们还是有必要了解一下cmp参数
cmp参数的使用方法就是指定一个函数,自定义排序的规则,和java等其他语言很类似
也可以反序排列
python3.x中可以用如下方式:
H. python中sorted函数的作用是
这是排序函数
I. 什么是python内置函数sorted
Python对容器内数据的排序有两种,一种是容器自己的sort函数,一种是内建的sorted函数。
sort函数和sorted函数唯一的不同是,sort是在容器内排序,sorted生成一个新的排好序的容器。
对于一个简单的数组 L=[5,2,3,1,4].
sort: L.sort()
sorted(...)
sorted(iterable, cmp=None, key=None, reverse=False) --> new sorted list
iterable:待排序的可迭代类型的容器;
cmp:用于比较的函数,比较什么由key决定,有默认值,迭代集合中的一项;
key:用列表元素的某个已命名的属性或函数(只有一个参数并且返回一个用于排序的值)作为关键字,有默认值,迭代集合中的一项;
reverse:排序规则. reverse = True 或者 reverse = False,有默认值。
返回值:是一个经过排序的可迭代类型,与iterable一样。
如果是一个多维的列表 L=[(‘b’,2),(‘a’,1),(‘c’,3),(‘d’,4)].
有三种选择对这个多维列表进行排序
利用cmp函数
sorted(L, cmp=lambda x,y:cmp(x[1],y[1]))
L.sort(cmp=lambda x,y:cmp(x[1],y[1]))
利用key
sorted(L, key=lambda x:x[1]);
L.sort(key=lambda x:x[1]);
反序
以上几种排序均可加上参数reverse.
例如 sorted(reverse=True), L.sort(reverse=True). 或者改成False
OrderedDict是collections中的一个包,能够记录字典元素插入的顺序,常常和排序函数一起使用来生成一个排序的字典。
比如,比如一个无序的字典
d = {‘banana’:3,’apple’:4,’pear’:1,’orange’:2}
通过排序来生成一个有序的字典,有以下几种方式
collections.OrderedDict(sorted(d.items(),key = lambda t:t[0]))
或者
collections.OrderedDict(sorted(d.items(),key = lambda t:t[1]))
或者
collections.OrderedDict(sorted(d.items(),key = lambda t:len(t[0])))
J. python sorted怎么降序排序
1、首先打开cmd命令提示符,输入指令“ipython”打开python的命令行工具: