前几天做练习题,一直不得其解,后来查阅资料,知道有个叫operator模块,可以很好的解决
因为是新知识点(之前没接触)所以来总结下
01:什么是operator
operator模块是python中内置的操作符函数接口,它定义了一些算术和比较内置操作的函数。operator模块是用c实现的,所以执行速度比python代码快
02:函数的映射操作
03:简单的实例:
# 导入模块
from operator import lt
# 调整lt比较大小
print(ls(2,4))
mul(a, b)——支持数/列表/元组与数相乘
a = [1,2,3]
b=2
print(mul(a,b))
# 输出结果:
[1,2,3,1,2,3]
04:解答我遇到的问题
题目:
您需要编写一个程序,按升序对(名称,年龄,高度)元组进行排序,其中name是字符串,
age和height是数字。 元组由控制台输入。 排序标准是:
1:根据名称排序;
2:然后根据年龄排序;
3:然后按分数排序。
优先级是name> age>得分。
如果给出以下元组作为程序的输入:
Tom,19,80
John,20,90
Jony,17,91
Jony,17,93
Json,21,85
然后,程序的输出应该是:
[('John','20','90'),('Jony','17','91'),('Jony','17','93'),
('Json','21 ','85'),('Tom','19','80')]
from operator import itemgetter l = [] print('请输入:') while True: s = input() if not s: break l.append(tuple(s.split(','))) print(sorted(l, key=itemgetter(0, 1, 2)))