Python 提供了几个高级内置函数,另外还有几个比较实用的库,比如 collections,这里推荐一篇文章,介绍几个小的 Tips,如果大家用上的话可以稍微提高一些开发效率,希望对大家有帮助哈。
转载来源
“
阅读本文大概需要 5 分钟。
”
工作中经常要处理各种各样的数据,遇到项目赶进度的时候自己写函数容易浪费时间。
Python 中有很多内置函数帮你提高工作效率!
一. 根据条件在序列中筛选数据
1. 假设有一个数字列表 data, 过滤列表中的负数
使用列表推导式:
使用fliter过滤函数:
2. 学生的数学分数以字典形式存储,筛选其中分数大于 80 分的同学
二. 对字典的键值对进行翻转
使用 zip() 函数
zip() 函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表。
三. 统计序列中元素出现的频度
1. 某随机序列中,找到出现次数最高的3个元素,它们出现的次数是多少?
构造随机序列如下:
方法1: 可以使用字典来统计,以列表中的数据为键,以出现的次数为值
方法2:直接使用 collections 模块下面的 Counter 对象
2. 对某英文文章单词进行统计,找到出现次数最高的单词以及出现的次数
通过上面的练习,我们知道可以用 Counter 来解决
四.根据字典中值的大小,对字典中的项进行排序
比如班级中学生的数学成绩以字典的形式存储:
请按数学成绩从高到底进行排序!
方法1: 利用 zip 将字典转化为元组,再用 sorted 进行排序
方法2: 利用 sorted 函数的 key 参数
五. 在多个字典中找到公共键
实际场景:在足球联赛中,统计每轮比赛都有进球的球员
第一轮: {"C罗": 1, "苏亚雷斯":2, "托雷斯": 1..}
第二轮: {"内马尔": 1, "梅西":2, "姆巴佩": 3..}
第三轮: {"姆巴佩": 2, "C罗":2, "内马尔": 1..}
模拟随机的进球球员和进球数
首先获取字典的 keys,然后取每轮比赛 key 的交集。由于比赛轮次数是不定的,所以使用map来批量操作
然后一直累积取其交集,使用reduce函数
一行代码搞定!
领取专属 10元无门槛券
私享最新 技术干货