sort,sorted的区别,sorted与operator.itemgetter使用

1、sort,sorted的区别:都是排序函数,sort用于list,而sorted用于list或者iterable(可迭代对象)

2、operator.itemgetter(k)的使用:

operator模块提供的itemgetter(k)函数用来获取对象的索引为k的数据,比如:

a = [2, 6, 3, 7]
b = operator.itemgetter(1)
print(b(a))
6

3、函数sorted(iterable, key, reverse):

iterable可以是list,或者iterable
key是一个函数,用于决定比较iterable中哪一列的值来排序
reverse决定排序是倒序还是顺序,reverse=True为倒序,reverse=False为顺序,默认为顺序

4、将operator.itemgetter(k)函数用与sorted函数的参数key:

比如:让dict按照value顺序排序:

a = {'a': 8, 'b':4, 'c':7}
b = sorted(a.items(), key=operator.itemgetter(1))
print(b)
[('b', 4), ('c', 7), ('a', 8)]

让dict按照key倒序排序:

a = {'d': 8, 'b':4, 'c':7}
b = sorted(a.items(), key=operator.itemgetter(0), reverse=True)
print(b)
[('d', 8), ('c', 7), ('b', 4)]
上一篇:django 将表数据通过API展示到页面上


下一篇:java常用的集合和方法