10个非常适合菜鸟练手的Python项目,墙裂建议收藏!

机器学习实验室

共 2115字,需浏览 5分钟

 ·

2021-03-30 16:24


作者:菜鸟哥

转自:菜鸟学Python

对于Python学习者来说,能够熟练的掌握Python中简洁而高效的编程技巧,不仅能够提升程序的效率,更重要的是体现出编程者高超的编程能力。

今天,小编就为大家分享十个Python的小案例,每个案例都有两种解决方法,第一种方法相对小白,第二种方法则是属于有经验的高手写法。案例小,但是却蕴含着Python编程的技巧,一起来看看吧。


1.判断一个列表中的数值是否全部小于某个数

面对这个问题,其实常见的有2种解法

方法1:最直观的程序就是一个一个去判断列表中的元素是否是小于某个数值,这样的方法最容易想到,但是程序很冗杂。


方法2:则是利用了两个Python内置函数+Python匿名函数,一行代码即可轻松的解决。


如果大家对Python内置函数不是很了解,欢迎大家去看一下我们之前发布的Python内置函数最全总结的文章(福利来了!68个Python内置函数最全总结,建议收藏!)。


2.对列表中的字符串按照特定要求进行排序

对于列表中的字符串进行排序,对于排序算法比较熟悉的小伙伴,都会想到利用排序算法来解决,例如方法一就是利用的冒泡排序进行解决;


而方法2仅仅利用内置函数sorted一行代码即可解决。不仅如此,对于排序的关键词指定方面,还可以自己设置排序的函数,例如上面的firstC函数,按照字符串的首字母进行排序。


3.按照键或者数值对字典进行排序

按照键或者值对字典进行排序

方法1:可以利用sorted内置函数进行排序后,再转换成字典形式。这样的方式在转换的过程中会造成空间资源的浪费。


方法2:则是直接利用了对于键或者值进行排序,再利用排序后的键或者是值来构造最终的字典,且程序简洁。


4.将列表中的数字转换成字符串


上述的两种方法中,小编个人认为都是很不错的方法,方法1利用的是列表解析方案,通过循环迭代的方式产生新的列表。方法2利用的是map内置函数,将列表中的数字转换为字符串。


5.判断列表中的元素是否都属于一个类型


方法1:采用的方法是逐个的判断列表中的每一个元素,如果有任一个元素不是字符串,则输出False。当全部循环结束后,如果index数值等于列表总长度,则输出True。

方法2:依旧是利用map函数来判断列表中的每个元素是否满足函数checkStr。利用all函数来得到最终的结果。


6.反转列表


方法1:用到的方法是创建一个新的列表对象,并将list6中的元素按照从后向前的方式添加到新列表中。
方法2:则有两种方式,第一种方式是利用列表切片的方法,获取反转的列表。第二种方式是利用列表的reverse函数,但是reverse函数只能在原列表中进行修改,不能创建一个新的列表。


7.从可迭代对象中随机选择一个元素

在Python中进行随机数值的选择,可以利用Python的内置库random,上图函数中,choice函数是从列表中随机选择一个数值,choices函数又放回的选择k个数值,sample则是无放回的选择k个数值。


8.利用列表创建字典

方法1:利用列表创建字典,利用for循环的方式,在字典中创建键值对的item。

方法2:利用zip内置函数,创建一个zip对象,并利用dict函数将zip对象转化为字典,一行代码搞定


9.筛选出以元音字母开头的字符串

方法1:对于list9中的每个字符串元素进行判断处理,如果字符串的第一个字母是原因字母,则将该字符串添加到新的列表new_list9中。


方法2:直接利用了列表解析或者是通过filter函数来过滤list9中满足匿名函数的元素,相比于map函数,filter函数能够直接过滤出来满足条件的元素值。


10.创建一个计数字典

创建一个数值统计的字典
方法1:首先创建一个字典,字典的键包含了list10中所有出现过的元素,然后逐一统计列表中元素出现的次数。

方法2:是借用了collections库中的Counter类,直接统计list10中元素的个数,然后利用dict函数来讲Counter对象转化为字典对象。


总结
通过上述的十个小案例的分享,可以看到,每个案例中都蕴含着利用Python的内置函数来优化程序的智慧,平时大家在程序编写的过程中,也要善于挖掘和思考,如何充分利用Python的现有函数来让自己的程序更加的优美。
这不仅能够提升程序的美感,还能提升程序的运行效率,特别是针对于大量数据的处理过程。大家有什么想要说的,欢迎在下方留言~

往期精彩:

【原创首发】机器学习公式推导与代码实现30讲.pdf

【原创首发】深度学习语义分割理论与实战指南.pdf

 谈中小企业算法岗面试

 算法工程师研发技能表

 真正想做算法的,不要害怕内卷

 算法工程师的日常,一定不能脱离产业实践

 技术学习不能眼高手低

 技术人要学会自我营销

 做人不能过拟合

点个在看

浏览 8
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报