文档章节

python 中sorted 和sort

b
 bruc
发布于 2016/04/07 23:11
字数 355
阅读 22
收藏 0

sorted 和sort是python内置的函数 但是sort是列表的函数,而sorted直接对容器进行操作,返回一个新的容器,容器可以是list,tuple,可迭代对象等。 a.sort()排序后会改变a。而sorted(a)会返回一个排序后的容器,a并不变化。

实际测试sorted比sort速度快。

返回下标index

numpy 中有个函数argsort()可以返回排序后的下标。对于列表s=[2, 3, 1, 4, 5],numpy.argsort(s)的返回值是array([2, 0, 1, 3, 4]),这个表示排序的列表[1, 2, 3, 4, 5]中元素对应于s中的下标为[2, 0, 1, 3, 4]。使用lettcode刷题时,不能导入包。所以只能用其他方式来实现这个功能。sorted就可以实现。sorted(range(len(s)), key=lambda k: s[k])的返回值就是[2, 0, 1, 3, 4]。

用help(sorted)查看帮助得到: sorted(iterable, key=None, reverse=False) --> new sorted list

第一个参数是可迭代对象,第二个参数是用来比较的关键字。sorted函数是返回iterable按照key参数制定的关键字排序后的新的列表。sorted(range(len(s)), key=lambda k: s[k])则是返回range(lens)按照关键字s[k]排序后的结果。(k是从第一个参数range(lens)中取元素)

© 著作权归作者所有

共有 人打赏支持
b
粉丝 0
博文 7
码字总数 2563
作品 0
兰州
python基础(6):python 随机数函数与 sort/sorted 函数详解

1、python 随机数生成 Python中的random模块用于生成随机数。下面介绍一下random模块中最常用的几个函数。 1.1 random.random random.random()用于生成一个0到1的随机符点数: 0 <= n < 1.0 ...

大数据之路
2014/05/22
0
0
用python玩转数据|数据获取与表示

文件读写 file_obj.write(str) :向文件中写字符串 file_obj.read() :读文件直到文件结束,返回字符串 file_obj.read(size):从文件读size个字节数据,返回字符串 python从读文件中读取行的时...

darlingwood2013
2017/03/10
0
0
python dict sorted 排序

python dict sorted 排序 转载自http://hi.baidu.com/jackleehit/blog/item/53da32a72207bafa9052eea1.html 我们知道Python的内置dictionary数据类型是无序的,通过key来获取对应的value。可...

lvnian2009
06/26
0
0
python dict按照value 排序

我们知道Python的内置dictionary数据类型是无序的,通过key来获取对应的value。可是有时我们需要对dictionary中 的item进行排序输出,可能根据key,也可能根据value来排。到底有多少种方法可...

scroll
2013/04/01
0
0
python 排序sorted

Python提供了两个方法对给定的List 进行排序, 方法1.用List的成员函数sort进行排序 testList = [5, 2, 3, 1, 4]print(sorted(testList)) 方法2.用built-in函数sorted进行排序 testList = [...

liaojie
2014/03/18
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

jquery创建类似于java的map

var map = {}; // Map map = new HashMap(); map[key] = value; // map.put(key, value); var value = map[key]; // Object value = map.get(key); var has = key in map; // boolean has = ......

SuperDabai
31分钟前
0
0
java大数据转换16进制转10进制

public static void main(String[] args) {String hex = "0xdbf3accc683297cf0000";BigInteger amount = new BigInteger(hex.substring(2), 16);System.out.println(amount);......

任梁荣
昨天
1
0
OSChina 周六乱弹 —— 目测我们程序员丁克的几率不大

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @真Skr小机灵鬼儿:8.13分享Jocelyn Pook/Russian Red的单曲《Loving Strangers》 《Loving Strangers》- Jocelyn Pook/Russian Red 手机党少...

小小编辑
昨天
9
3
TypeScript基础入门 - 函数 - 剩余参数

转载 TypeScript基础入门 - 函数 - 剩余参数 项目实践仓库 https://github.com/durban89/typescript_demo.gittag: 1.2.1 为了保证后面的学习演示需要安装下ts-node,这样后面的每个操作都能...

durban
昨天
1
0
OpenCV边缘检测算子原理总结及实现

1. 拉普拉斯算子 原理:是一种基于图像导数运算的高通线性滤波器。它通过二阶导数来度量图像函数的曲率。 拉普拉斯算子是最简单的各向同性微分算子,它具有旋转不变性。一个二维图像函数的拉...

漫步当下
昨天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部