python字典排序

python高阶函数map & filter & reduce & sorted

﹥>﹥吖頭↗ 提交于 2019-11-27 12:32:58
高阶函数为把函数作为参数传入的函数 引用链接    高阶函数 环境   python3.6 map    map 函数接收两个参数,一个是函数,一个是序列, map 将传入的函数依次作用到每个序列对应索引的元素,最后结果作为生成器返回。序列参数可传入多个序列   1. 多个序列时,若是长度最短的序列所有元素都已映射,则整个map函数结束 from collections import Iterator a_li, b_li, c_li = list(range(10)), list(range(104)), list(range(1, 15)) m1 = map(lambda x, y, z: x + y + z, a_li, b_li, c_li) print(isinstance(m1, Iterator)) print(list(m1))   返回的生成器只迭代到最短的序列的所有元素,结果为 True [1, 4, 7, 10, 13, 16, 19, 22, 25, 28]   2. 函数参数除了使用匿名函数,也可以使用自定义的映射函数  def map_func(x, y, z): return x + y + z + 10 m2 = map(map_func, a_li, b_li, c_li) print(list(m2))   传入函数名,结果为   [11, 14

Python 3 学习笔记:序列

时光毁灭记忆、已成空白 提交于 2019-11-27 08:42:45
序列 索引 序列是一块用于放置多个值得连续存储空间,并且按特定顺序排列,每个值(称为元素)都分配一个整数(由左至右则从 0 开始;由右至左则从 -1 开始),称为索引(index)或位置,如下所示: 可以根据索引获取每个元素实际的值 string = "飞流直下三千尺,疑是银河落九天。" print(string[5]) 复制 则上面的语句的运行结果为“千”。 切片 切片是访问序列中元素的另一种方法,该方法可以访问一定范围内的元素。 1 sequence[startIndex : endIndex : step] 复制 如果 startIndex 未指定,则默认从 0 开始;如果 endIndex 未指定,则默认一直到最后才结束切片;如果 step 未指定,则默认为 1,且其前面的冒号可以省略。 序列相加 在 Python 中支持将多个相同类型的序列相加(或者说拼接更准确),该操作只是单纯的将序列拼接在一起,而不进行其他附加的任何运算。 seq_1 = "飞流直下三千尺," seq_2 = "疑是银河落九天。" print(seq_1 + seq_2) 复制 当然,拼接之后实际上就是得到了一个新的序列,其索引将会重新排序。 序列相乘 数学意义上的乘法就是将一个数重复相加若干次之后得到一个结果,序列的乘法同样如此,也是将一个序列重复拼接若干次之后得到一个新的序列。 1 2

Python sorted 函数用法

若如初见. 提交于 2019-11-27 03:56:25
1.背景   在python中,通常需要使用排序函数。而对字典针对一个键值进行排序会经常使用到。记录sorted 函数的键值排序用法。 2.代码   data 一个list,list 中的元素由字典组成 dic { "label":True "seqence":“I love Python” "rate":0.5 "length": 13 }    如果需要对每个字典中的rate值进行从低到高排序,代码如下: datas = sorted(datas, key=lambda d: d["rate"]) 来源: https://www.cnblogs.com/siyuan1998/p/11343147.html

python中列表排序,字典排序,列表中的字典排序

你。 提交于 2019-11-27 01:08:03
python中列表排序,字典排序,列表中的字典排序 #-*- encoding=utf-8 -*- # python3代码 import operator 一. 按字典值排序(默认为升序) x = {1:2, 3:4, 4:3, 2:1, 0:0} 1. sorted_x = sorted(x.iteritems(), key=operator.itemgetter(1)) print sorted_x #[(0, 0), (2, 1), (1, 2), (4, 3), (3, 4)] #如果要降序排序,可以指定reverse=True 2. sorted_x = sorted(x.iteritems(), key=operator.itemgetter(1), reverse=True) print sorted_x #[(3, 4), (4, 3), (1, 2), (2, 1), (0, 0)] 二. 或者直接使用list的reverse方法将sorted_x顺序反转 #sorted_x.reverse() 三. 更为常用的方法是,用lambda表达式 3. sorted_x = sorted(x.iteritems(), key=lambda x : x[1]) print sorted_x #[(0, 0), (2, 1), (1, 2), (4, 3), (3, 4)]

python 编程中字典排序的方法

空扰寡人 提交于 2019-11-26 19:58:38
在python编写程序的过程中使用字典进行数据信息统计时,由于字典是无序的所以打印字典时内容也是无序的。因此,为了使统计得到的结果更方便查看需要进行排序。Python中字典的排序分为按“键”排序和按“值”排序。 1.按“值”排序就是根据字典的值进行排序,可以使用内置的sorted()函数。 2.对字典进行按键排序也可以使用上面的sorted函数,只要改为sorted(dict.items(), key=lambda e:e[0], reverse=True)就可以了。不过除了这个方式之外,还有另外的方法:通过列表的排序来达到使字典有序的目的。 初学 Python,想要记住字典所有的排序方法可能有点复杂,可以看看下方视频,听知名技术专家李刚老师对字典排序的详细解析, Python 字典高级用法 李刚老师出版的《疯狂Java》系列图书曾得到市场的广泛认可,经过多次再版,并被多家高校选作教材。 上方视频来自于李刚老师的在线视频课程《21天通关Python》第二章第六节字典高级用法。 大家都有学习Python的困惑,今天就给大家推荐一本巨有影响力的Python实战书,上线时间仅2个月,就超越了众多实力派,成京东和当当网上的长期畅销图书,并且收获了3.4W的五星好评。 这本书可谓是笔者独家私藏图书之一了,对我学习Python有着莫大的帮助,在京东上也常常"断货",这次拿出来给大家分享一下

PyTricks-How to Sort a Python dict

。_饼干妹妹 提交于 2019-11-26 12:11:06
字典的键值排序 import operator # 1表示按照值排序 xs = {"a": 4, "b": 3, "c": 2, "d": 1, "f": 0, "e": 9} print(dict(sorted(xs.items(), key=lambda x: x[1]))) print(dict(sorted(xs.items(), key=operator.itemgetter(1)))) # 0表示按照建排序 print(dict(sorted(xs.items(), key=lambda x: x[0]))) print(dict(sorted(xs.items(), key=operator.itemgetter(0)))) 来源: https://www.cnblogs.com/c-x-a/p/11319183.html