Python2.x 中,使用 cmp() 来比较两个列表、数字、字符串大小;Python 3.X 中已经没有 cmp() ,如果要实现比较功能,使用 operator 模块。模块源文件:Lib/operator.py ;我已使用该模块三类功能函数:1)传统大小比较 2)运算符 3)作为查找截取功能,结合map、sorted使用
1)逻辑大小比较
输出:
2)运算符
矩阵乘法: 使用numpy生成矩阵,分别使用 @ 和 operator.matmul 进行矩阵乘法
内建算数运算符与operator模块对应函数统计表:
3)operator 模块中 itemgetter() 可作为高速字段提取器。它常用于为map()、sorted()、itertools. groupby() 等函数提供参数。
operator.itemgetter() 函数用于获取对象的哪些维的数据;itemgetter函数获取的不是值,而是定义了一个函数,通过该函数作用到对象上才能获取值。以下将使用 itemgetter() 分别作用于列表、元祖、字典,抽取对应维度元素:
列表:
元祖:
字典:
由以上实验知,itemgetter() 参数可以多个,即抽取多个。该函数可对列表、元祖可进行直接抽取,返回值类型:元祖。对字典只有当key为数字且抽取索引值存在时,可直接使用。当key值为字符串类型数值时,不能使用。
以下将使用字典 items() 函数结合 map() 进行值抽取,注意 items() 返回类型:元祖列表;且每元组内由二部分组成。map() 将针对列表中每个元祖分别操作。 items() 传参值为0、1 分别代表截取字典 key、value。
以下结合 sorted();介绍按 key 排序。
对元祖列表排序:key 分别按照姓名、成绩>姓名 进行排序
排序字典;以 key、value进行排序
注意 d1.items() 返回类型 元祖列表;排序后结果也为 元祖列表。