sorted(),argsort()和operator.itemgetter()小测试

自己学习的小测试,没有讲解,只有代码测试与运行结果

students = [('aohn', 'A', 2), ('cane', 'B', 12), ('bave', 'C', 10)]
#sorted(students, key=lambda student : student[0])
#[('aohn', 'A', 15), ('dave', 'c', 10), ('jane', 'B', 12)]根据元素的第一个即元组的第一个值排序


#sorted(students, key=lambda student : student[1])
#[('aohn', 'A', 15), ('jane', 'B', 12), ('dave', 'c', 10)]根据元素的第二个值排序,即根据字符“A""B""C""等排序


#sorted(students, key=lambda student : student[2])
#[('dave', 'c', 10), ('jane', 'B', 12), ('aohn', 'A', 15)]根据数字排序


val=sorted(students, key=operator.itemgetter(1),reverse=True)
print(val)     # [('dave', 'C', 10), ('jane', 'B', 12), ('aohn', 'A', 15)], 按字符


val=sorted(students, key=operator.itemgetter(2),reverse=True) #reverse=true是降序
print(val)  #[('jane', 'B', 12), ('dave', 'C', 10), ('mohn', 'A', 2)]  按数组


val=sorted(students, key=operator.itemgetter(0,2),reverse=True) 
print(val) #[('cane', 'B', 12), ('bave', 'C', 10), ('aohn', 'A', 2)]先按单词,再按数字将序排列,字符按ascii值排的
#classmate=operator.itemgetter(1)
#('jane', 'B', 12)取第二个值


#classmate=operator.itemgetter(1,1)
#(('jane', 'B', 12), ('jane', 'B', 12)) 取两次


#classmate=operator.itemgetter(0,1)
#(('aohn', 'A', 15), ('jane', 'B', 12))返回的是第一个和第二个元素

 

#classmate(students)

 

 

 

argsort()

import numpy as np

a=np.array([3,1,10,2])
b=a.argsort()
print(b)

输出:
[1 3 0 2]

argsort()是输出数组从小到大排列后的索引

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值