python

关注公众号 jb51net

关闭
首页 > 脚本专栏 > python > python List sort()与torch.sort()

python中的List sort()与torch.sort()

作者:Hanawh

这篇文章主要介绍了python中的List sort()与torch.sort()使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

python List sort()与torch.sort()

List sort()

1.key 用来进行比较的元素,先对原来的数字进行 函数映射 然后再进行排序,也就是说 sort 的比较器实际接收到值是 key 处理后的结果

  a.sort(key=lambda x: -x[0]) 

2.reverse 为排序规则,默认为 False 即升序

sorted()

返回已经排好序的副本

x =[4, 6, 2, 1, 7, 9]
y = sorted(x)
print (y) #[1, 2, 4, 6, 7, 9]
print (x) #[4, 6, 2, 1, 7, 9]

torch.sort()

使用方法

torch.sort(input, dim=-1, descending=False, out=None) 

(参数意思一目了然这里就不解释了)

trick

使用两次sort函数找出矩阵每个元素在升序或降序排列中的位置

python List sort()方法(注意key参数的使用)

list.sort(cmp=None, key=None, reverse=False)

key -- 主要是用来进行比较的元素,只有一个参数,具体的函数的参数就是取自于可迭代对象中,指定可迭代对象中的一个元素来进行排序。

reverse -- 排序规则,reverse = True 降序, reverse = False 升序(默认)

不给sort参数用开头字母的编码排序:

aList = [123, 'Google', 'Runoob', 'Taobao', 'Facebook'];
aList.sort();

给sort函数key参数:

# 获取列表的第二个元素
def takeSecond(elem):
    return elem[1]
# 列表
# >>> (1,2,3,4)[1]
# 2
random = [(2, 2), (3, 4), (4, 1), (1, 3)]
# 指定第二个元素排序
random.sort(key=takeSecond)  # key主要是用来进行比较的元素,+
# 只有一个参数,具体的函数(takeSecond)的参数就是(elem)取自于可迭代对象中{(2,2)}+
# 指定可迭代对象(random)中的一个元素{eg:(2,2)}来进行排序。
#当然还可以用无头lambda表达式来搞:
random.sort(key=lambda elem: elem[1], reverse=True)
# 输出
print('排序列表:', random)

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文