Python 中 list 的各项操作(2)

#指定 用第一个字母的大写(ascii码)和第二个字母的小写(ascii码)比较
students.sort(cmp=lambda x,y: cmp(x.upper(), y.lower()),key = lambda student:student[0])
print students

==>[('Dave', 180, 10), ('Tom', 160, 12), ('John', 170, 15)]

#指定 比较两个字母的小写的 ascii 码值
students.sort(cmp=lambda x,y: cmp(x.lower(), y.lower()),key = lambda student:student[0])
print students

==>[('Dave', 180, 10), ('John', 170, 15), ('Tom', 160, 12)]

#cmp(x,y) 是python内建立函数,用于比较2个对象,如果 x < y 返回 -1, 如果 x == y 返回 0, 如果 x > y 返回 1

cmp 可以让用户自定义大小关系。平时我们认为 1 < 2 , 认为 a < b。

现在我们可以自定义函数,通过自定义大小关系(例如 2 < a < 1 < b) 来对 list 进行指定规则的排序。

当我们在处理某些特殊问题时,这往往很有用。

如果以上的叙述有误。欢迎大家批评指正。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/bdf0495aa439afa3e5cafb1f8ac42436.html