Python中的sorted()函数
今天在做一个ner的项目,在对标签进行处理的时候,用到了一个sorted函数,发现并不会用。。。
记录一下:sorted(list, key, reverse)
list是给定的列表;
key是排序过程调用的函数,也就是排序依据;
reverse是降序还是升序,默认为False升序,True降序
举几个例子:
1、按照列表中的每个值的绝对值进行排序
a1 = [1, 3, 5, -2, -4, -6]
a2 = sorted(a1, key=abs)
print(a1)
print(a2)
#输出结果
[1, 3, 5, -2, -4, -6]
[1, -2, 3, -4, 5, -6]
2、按照列表中每个元素长度进行排序
a = [[1,2], [3,4,5,6], (7,), '123']
print(sorted(a,key=len))
#输出结果
[(7,), [1, 2], '123', [3, 4, 5, 6]]
3、按照词频大小进行降序(用的较多)
word_dict = {'apple':20, 'love':15}
sorted_word_dict = sorted(word_dict.items(), key=lambda d:d[1])
print(sorted_word_dict)
#输出结果
[('love', 15), ('apple', 20)]
sorted(d.items(), key=lambda x: x[1]) 中 d.items() 为待排序的对象;key=lambda x: x[1] 为对前面的对象中的第二维数据(即value)的值进行排序。 key=lambda 变量:变量[维数] 。维数可以按照自己的需要进行设置。
注意:word_dict.items()输出的是–>[(apple, 20), (love, 15)]