python sorted函数原理解析及练习


Posted in Python onFebruary 10, 2020

这篇文章主要介绍了python sorted函数原理解析及练习,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

前两天学习了一下socket编程,在向某大神请教问题时被嫌弃了,有一种还没学会走就想跑的感觉。大神说我现在的水平应该去做一些像是操作文件、序列号等的小练习来加深理解。下面是他给我出的小练习:

1、datas = [['sherry',19,'female'],['flora',21,'female'],['june',15,'femal']],分别根据名字首字母和年龄进行排序输出;

2、按照给定的输出方式进行输出比较结果,对Person类进行补充;

class_mates = {'sherry':[18,'male'],'june':[20,'female'],'flora':[19,'female'],'alina':[21,'male']}

class Person(object):

def __init__(self,name,age):

self.name = name

p1 = Person('sherry',20)
p2 = Person('june',20)


if p1<p2:
print('p1:{} less than p2:{}'.format([p1.name,p1.age],[p2.name,p2.age]))
else:
print('p1:{} gte than p2:{}'.format([p1.name,p1.age],[p2.name,p2.age]))

就这么简单我竟做了一下午(打脸)

题目1

def get_first(info):
   first_value = info[0][0]
   return first_value

 na = sorted(datas,key=get_first)
 print(na)

 def age_sort(info):
   return info[1]
 print(sorted(datas,key=age_sort))

题目2答案

class_mates = {'sherry':[18,'male'],'june':[20,'female'],'flora':[19,'female'],'alina':[21,'male']}

class Person(object):

  def __init__(self,name,age):
    self.name = name
    self.age = age
  def __lt__(self,others):
    if(self.age<others.age):
      return 1
    elif(self.age==others.age): 
      if(self.name[0]<others.name[0]):
        return 1
      else:
        return 0
    return 0

p1 = Person('sherry',20)
p2 = Person('june',20)


if p1<p2:
  print('p1:{} less than p2:{}'.format([p1.name,p1.age],[p2.name,p2.age]))
else:
  print('p1:{} gte than p2:{}'.format([p1.name,p1.age],[p2.name,p2.age]))

查看python官方文档,总结一下get到的知识。

1、sorted(iterable[, key][, reverse])

返回一个重新排序的list,有两个可选的关键字参数(使用参数名而不是位置来指定参数)。

key 定义了一个带参数的函数,提取list的某个元素作为这个函数的参数,返回值作为你叫关键字,默认值是None(直接比较list的元素)

reverse是一个布尔值。True表示将list里面的元素反向排序。

2、ln(a,b),当使用a<b的我时候,会自动调用__ln__(a,b)这个函数,因此我们要在类中重新定义__ln(a,b)__函数,自己定义什么时候返回true什么时候返回false。每一种类型都有自己的ln()函数,所以在重新定义的时候里面也可以调用。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python脚本实现代码行数统计代码分享
Mar 10 Python
Python 的 Socket 编程
Mar 24 Python
Python易忽视知识点小结
May 25 Python
用Django实现一个可运行的区块链应用
Mar 08 Python
Python读取excel中的图片完美解决方法
Jul 27 Python
matplotlib实现热成像图colorbar和极坐标图的方法
Dec 13 Python
pandas DataFrame 交集并集补集的实现
Jun 24 Python
详解将Pandas中的DataFrame类型转换成Numpy中array类型的三种方法
Jul 06 Python
python 爬虫 实现增量去重和定时爬取实例
Feb 28 Python
Python-jenkins模块之folder相关操作介绍
May 12 Python
python 常见的反爬虫策略
Sep 27 Python
Django中日期时间型字段进行年月日时分秒分组统计
Nov 27 Python
python pprint模块中print()和pprint()两者的区别
Feb 10 #Python
python yield和Generator函数用法详解
Feb 10 #Python
Tensorflow 卷积的梯度反向传播过程
Feb 10 #Python
tensorflow 实现自定义梯度反向传播代码
Feb 10 #Python
用Python做一个久坐提醒小助手的示例代码
Feb 10 #Python
Python3 元组tuple入门基础
Feb 09 #Python
Python3列表List入门知识附实例
Feb 09 #Python
You might like
php空间不支持socket但支持curl时recaptcha的用法
2011/11/07 PHP
php实现插入排序
2015/03/29 PHP
Zend Framework分页类用法详解
2016/03/22 PHP
浅谈PHP中的
2016/04/23 PHP
php简单统计中文个数的方法
2016/09/30 PHP
laravel ORM关联关系中的 with和whereHas用法
2019/10/16 PHP
Mootools 1.2教程 类(一)
2009/09/15 Javascript
jQuery 表单验证扩展代码(二)
2010/10/20 Javascript
精选的10款用于构建良好易用性网站的jQuery插件
2011/01/23 Javascript
jQuery JSON的解析方式分享
2011/04/05 Javascript
js控制frameSet示例
2013/09/10 Javascript
javascript文件中引用依赖的js文件的方法
2014/03/17 Javascript
jquery使用经验小结
2015/05/20 Javascript
Javascript中的方法和匿名方法实例详解
2015/06/13 Javascript
jquery实现从数组移除指定的值
2015/06/24 Javascript
JavaScript简单下拉菜单实例代码
2015/09/07 Javascript
解析jQueryEasyUI的使用
2016/11/22 Javascript
js遍历json的key和value的实例
2017/01/22 Javascript
详解Javascript百度地图接口开发文档中的类和方法
2017/02/07 Javascript
讲解vue-router之命名路由和命名视图
2018/05/28 Javascript
Javascript实现时间倒计时功能
2018/11/17 Javascript
解决vue中使用proxy配置不同端口和ip接口问题
2019/08/14 Javascript
vant-ui AddressEdit地址编辑和van-area的用法说明
2020/11/03 Javascript
[01:34]传奇从这开始 2016国际邀请赛中国区预选赛震撼开启
2016/06/26 DOTA
python 中的列表解析和生成表达式
2011/03/10 Python
使用Python编写简单网络爬虫抓取视频下载资源
2014/11/04 Python
编写Python脚本来获取mp3文件tag信息的教程
2015/05/04 Python
安装python3的时候就是输入python3死活没有反应的解决方法
2018/01/24 Python
分享8个非常流行的 Python 可视化工具包
2019/06/05 Python
Python结合百度语音识别实现实时翻译软件的实现
2021/01/18 Python
CSS3 实现的加载动画
2020/12/07 HTML / CSS
销售队伍口号
2014/06/11 职场文书
房屋租赁授权委托书范本
2014/09/20 职场文书
读完《骆驼祥子》的观后感!
2019/07/05 职场文书
劳务派遣管理制度(样本)
2019/08/23 职场文书
六年级作文之自救
2019/12/19 职场文书