python sorted函数的小练习及解答


Posted in Python onSeptember 18, 2019

前两天学习了一下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]))

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

题目

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))

答案

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 相关文章推荐
Python2.x版本中maketrans()方法的使用介绍
May 19 Python
Python使用剪切板的方法
Jun 06 Python
浅谈python配置与使用OpenCV踩的一些坑
Apr 02 Python
dataframe设置两个条件取值的实例
Apr 12 Python
可能是最全面的 Python 字符串拼接总结【收藏】
Jul 09 Python
Python2.7版os.path.isdir中文路径返回false的解决方法
Jun 21 Python
将python运行结果保存至本地文件中的示例讲解
Jul 11 Python
Python3.5 win10环境下导入kera/tensorflow报错的解决方法
Dec 19 Python
django执行数据库查询之后实现返回的结果集转json
Mar 31 Python
基于python实现获取网页图片过程解析
May 11 Python
python 下载文件的几种方法汇总
Jan 06 Python
python 默认参数相关知识详解
Sep 18 #Python
python连接PostgreSQL数据库的过程详解
Sep 18 #Python
Python传递参数的多种方式(小结)
Sep 18 #Python
余弦相似性计算及python代码实现过程解析
Sep 18 #Python
python之yield和Generator深入解析
Sep 18 #Python
PyTorch预训练的实现
Sep 18 #Python
用python实现英文字母和相应序数转换的方法
Sep 18 #Python
You might like
windows下配置apache+php+mysql时出现问题的处理方法
2014/06/20 PHP
简单谈谈php浮点数精确运算
2016/03/10 PHP
laravel实现于语言包的完美切换方法
2019/09/29 PHP
JQUERY复选框CHECKBOX全选,取消全选
2008/08/30 Javascript
jquery复选框checkbox实现删除前判断
2014/04/20 Javascript
一个JavaScript去除字符串末尾的空白实例代码
2014/09/22 Javascript
解决JS无法调用Controller问题的方法
2015/12/31 Javascript
原生JS实现图片左右轮播
2016/12/30 Javascript
Angularjs中使用指令绑定点击事件的方法
2017/03/30 Javascript
nuxt+axios解决前后端分离SSR的示例代码
2017/10/24 Javascript
AngularJS实现controller控制器间共享数据的方法示例
2017/10/30 Javascript
angular2 组件之间通过service互相传递的实例
2018/09/30 Javascript
js之切换全屏和退出全屏实现代码实例
2019/09/09 Javascript
Node.js创建一个Express服务的方法详解
2020/01/06 Javascript
JS中this的4种绑定规则详解
2020/02/04 Javascript
vue-router的hooks用法详解
2020/06/08 Javascript
Node 使用express-http-proxy 做api网关的实现
2020/10/15 Javascript
Python3.6简单操作Mysql数据库
2017/09/12 Python
Python中pow()和math.pow()函数用法示例
2018/02/11 Python
Python设计模式之迭代器模式原理与用法实例分析
2019/01/10 Python
python获取交互式ssh shell的方法
2019/02/14 Python
使用Python和Scribus创建一个RGB立方体的方法
2019/07/17 Python
python 进程间数据共享multiProcess.Manger实现解析
2019/09/23 Python
Pyorch之numpy与torch之间相互转换方式
2019/12/31 Python
tensorflow 环境变量设置方式
2020/02/06 Python
Python格式化输出--%s,%d,%f的代码解析
2020/04/29 Python
利用css3 translate完美实现表头固定效果
2017/02/28 HTML / CSS
css3+jq创作含苞待放的荷花
2014/02/20 HTML / CSS
比利时网上药店: Drogisterij.net
2017/03/17 全球购物
W Hamond官网:始于1979年的钻石专家
2020/07/20 全球购物
物流经理自我评价
2013/09/23 职场文书
秋季婚礼证婚词
2014/01/11 职场文书
作风转变年心得体会
2014/10/22 职场文书
2015年财务人员工作总结
2015/04/10 职场文书
2016年员工年度考核评语
2015/12/02 职场文书
高中政治教学反思
2016/02/23 职场文书