【面试+工作划重点】工作实战python知识点,面试也会经常遇到

在这里插入图片描述

分享工作中遇到的python知识点,估计很多人没太留意过这个知识点,但是对巩固很多基本语法和一些python中一些有用的方法很有帮助,工作中的问题我简化说下,大概就是下面需求:

有3个python列表:分别是年龄,姓名,城市

a = [ 24 , 37,18, 45, 60]

b = [“张三” , “李四” ,“王五” ,“赵六” ," 孙七" ]

c = [“北京” , “上海” , “武汉” , “深圳” , “南京”]

a, b,c三个列表中的数据根据下标具有一一对应关系,现在要求排序,根据a列表中的数值从小到大排序,然后b和c列表中的元素根据a列表的排序也重新排下

也就是最终要的排序结果为:

a = [ 18,24,37,45,60]

b = [“王五” , “张三” ,“李四” ,“赵六” ," 孙七" ]

c = [“武汉” , “北京”,“上海”,“深圳”,“南京”]

记住一句话,学python一定要用最简单的python方法去写代码

下面我给大家分享我的做法:

1、用zip函数,将三个列表合并成一个大列表(默认是对象),然后大列表的每个元素为元组,元组的三个值就是a , b, c中对应下标的各个元素

在这里插入图片描述

2、我们构造成大列表的目的是将三个列表给统一到一个数据中,这样我们可以用sorted函数进行排序,排序根据x[0]年龄排,如果是x[1]就是根据姓名排,如果是x[2]就是根据城市排

在这里插入图片描述

3、根据列表推导式将元素取出来,得出排序后的3个列表,与需求一致

在这里插入图片描述

4、补充,如果想从大到小排序,加reverse = True参数,表示反转,默认是从小到大排序

在这里插入图片描述

5、zip函数是什么鬼?

zip函数可以将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表,这里估计有人会问,那zip函数是相当于打包,有没有那种类似unzip解包那种方法,我查阅文档,暂未发现该方法,所以用了列表推导式将排序后的3个列表取出来

6、sort和sorted我都见过,有什么区别?

简单记住:

sort : 无返回值,在原有列表基础上进行修改

sorted:有返回值,得出新排序后的列表

比如下方是用sort时候的截图,在原有基础上进行排序,可以和sorted进行对比

在这里插入图片描述

顺便提下,这些知识点其实在以前110道面试题中已经提及,有兴趣可以将这些面试题做下,巩固下,相信会有不少收获

下方是之前的面试题,这些方法以前详细讲过

在这里插入图片描述

在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值