itemgetter 用来获取数组中指定索引的元素 from operator import itemgetter itemgetter(1, 3, 5)('ABCDEFG') output: ('B', 'D', 'F') slice 用来为列表切片,也是获取指定索引的元素 a = slice(0,10,2) b = list(range(10)) b[a] b[0:10:2] itemgetter(a)(b) output: [0, 2, 4, 6, 8] [0, 2, 4, 6, 8] […
前几天在给个list做排序的时候,隐隐约约想起来有个语法糖可以替代lambda函数,用来获取list中dict的key,作为排序的key. 这个语法糖平时用得少,怎么都想不起来.今天查看python标准库operator时,终于把这两个方法找到了,做个笔记. 因为就是一个语法糖,太简单了,没必要做太多解释说明,直接贴代码吧. from operator import itemgetter, attrgetter __author__ = 'blackmatrix' get_name = lamb…
python的排序参见文章http://blog.csdn.net/longshenlmj/article/details/12747195 这里介绍 import operator模块 operator的itemgetter函数用于获取传入参数中某个域的值,如 a = [1,2,3]  >>> b=operator.itemgetter(1)      //定义函数b,获取对象的第1个域的值 >>> b(a)  2  >>> b=operator.i…
## 字典列表排序 students = [ {"name": "Stanley", "age": 22, "score": 92}, {"name": "Peter", "age": 19, "score": 99}, {"name": "Well", "age": 23, "…
简单介绍几个常用的函数,其他的请参考文档. operator.concat(a, b) **operator.__concat__(a, b)** 对于 a.b序列,返回 a + b(列表合并) --------------------------------- operator.countOf(a, b) 返回 b 在 a 中出现的次数 perator.delitem(a, b) **operator.__delitem__(a, b)** 删除 a 中索引为 b 的值 operator.ge…
operator库常用方法 Function Syntax add(a+b) a + b concat(seq1,seq2) seq1 + seq2 contains(seq, obj) obj in seq div(a,b)(without future.division) a/b truediv(a,b)(with future.division) a/b floordiv(a,b) a // b and_(a,b) a & b xor(a, b) a ^ b invert(a) ~a or…
Python官方文档地址:https://docs.python.org/3.6/library/operator.html?highlight=operator Operator提供的函可用于对象比较,逻辑运算,数学运算和序列运算的类别. 简单介绍几个常用的函数,其他的可参考官方文档. operator.lt(a,b)相当于a < b **operator.__lt__(a,b)** operator.le(a,b )相当于a <= b **operator.__le__(a,b)** op…
operator模块 在函数式编程中,经常需要把算术运算符当作函数使用.例如,不使用 递归计算阶乘.求和可以使用 sum 函数,但是求积则没有这样的函数. 我们可以使用 reduce 函数(5.2.1 节是这么做的),但是需要一个函数 计算序列中两个元素之积.示例 5-21 展示如何使用 lambda 表达式解决 这个问题. 示例 5-21 使用 reduce 函数和一个匿名函数计算阶乘 from functools import reduce def fact(n): return reduc…
operator.concat(a, b) 对于 a.b序列,返回 a + b(列表合并) --------------------------------- operator.countOf(a, b) 返回 b 在 a 中出现的次数 perator.delitem(a, b) 删除 a 中索引为 b 的值 operator.getitem(a, b) 返回 a 中索引为 b 的值 operator.indexOf(a, b) 返回 b 在 a 中首次出现位置的索引值. operator.se…
曾经客户端的同事用as写一大堆代码来排序,在得知python排序往往只需要一行,惊讶无比,遂对python产生浓厚的兴趣. 之前在做足球的积分榜的时候需要用到多条件排序,如果积分相同,则按净胜球,再相同按进球数,再相同按失球数. 即按积分P.净胜球GD.进球GS.失球GA这样的顺序. 在python中,排序非常方便,排序的参数主要有key.reverse.参数cmp不建议使用了,在python3.0被移除了,用参数key代替. 对于多条件排序,也非常简单,只需要记住下面这句话就行. 即 参数ke…