教你6招,不错的Python代码技巧!

开发 后端
最近后台关注的粉丝越来越多,大部分其实还是偏入门和基础!很多小伙伴加了菜鸟学Python小助手的微信,有一些在问一些入门的问题,有一些在问如何学习Python.

 最近后台关注的粉丝越来越多,大部分其实还是偏入门和基础!很多小伙伴加了菜鸟学Python小助手的微信,有一些在问一些入门的问题,有一些在问如何学习Python.

[[337775]]

其实Python是入门容易精通难,大家平时要养成记录的习惯,好的代码要记录下来,学会总结,经常翻一翻会有收获!今天我来分享一些我自己记录的代码结构,欢迎拍砖!

01.简洁的表达式

 

点评:Python因为简洁高效而出名,就是因为语法非常简单,而且内置了很多强大的数据结构:

  • 比如我们可以大量用推导列表来生成很多简洁的代码
  • 比如我们可以用if else组合,本来需要2-3行代码写的,一行搞定!

02.排序

忽略想起了一句台词,“有人的地方就有江湖”,那么有数组这样的数据结构一定涉及到排序,取最大值,取最小值。

 

点评:这个heapq库非常好用,尤其是我们在取一些列表的头部数据,比如最大几个,最小几个经常用到,很实用的一招!啥也不说了,赶紧背下来!

03.查询

排序和查询都是好基友,长的数据结构里面(字典,列表)里面我们一定会有查询,过滤的需求。有的时候,我们需要从一个很长的列表里面,找到某一个或者某一类的元素,怎么办,很简单,用高级函数filter :

1).用lambda配合filter过滤

 

点评:lambda是一个非常简洁的函数表达方式,短小精悍,加上配合filter一起使用,非常漂亮。比如我们通过 字符串里的startswith内置函数,非常方便的过滤出列表里面我们需要的数据!(Python3稍微改一下再filter之外再加一个list,不然生成的是迭代器地址)

 

点评:正则是一个非常不错的过滤方法,有的时候好的正则顶的上几十行代码,精通正则对玩数据分析,数据清洗是必需的技能!

04.碾平list

有的时候我们会遇到复杂的数据结构,比如列表里面套列表,层层嵌套,非常麻烦。有几种方法可以碾平:

1).第一种传统方法

 

点评:这里面就是用递归来解决的,思路非常简单清晰,但是递归一定要有出口,设计的时候要注意。

2).下面两种都是高手的写法:

 

 

点评:这两招看上去非常简单,实际上理解起来很复杂,把很多技巧结合在一行里面,反正第二种我还能接受,第三种口味太重了,看的有点晕!

05.带条件的推导列表

推导列表应该是我最喜欢的一种Pythonic方式,它的演变有很多手法,这几种都是非常常见的,多读几遍,背下来!

 

06.漂亮的添加字典的方法

设计数据结构的时候,字典是必须的!很多时候我们会用带下面的字典更新的方法,当然更好的是collections模块里面的defaultdict!

 

点评:dict.update还是比较平易近人的,这个dict(dict,**options)用法我第一次看到的时候也是楞了一些,什么鬼,现在见多了,也就习惯了!

近期十大热门:用Python一键生成炫酷九宫格图片,火了朋友圈菜鸟也疯狂!8分钟用Python做一个酷炫的家庭随手记Github获8300星!用Python开发的一个命令行的网易云音乐一道Python面试题,硬是没憋出来,最后憋出一身汗!卧槽!Pdf转Word用Python轻松搞定!每个程序员都是从菜鸟开始成长起来的,没有人一开始就是程序员高手。菜鸟爱编程,专注于分享趣味的编程技巧,不限于Java, Python ,Go, Javascript等语言,让菜鸟爱上编程,进阶成为高手。

责任编辑:华轩 来源: 菜鸟学Python
相关推荐

2011-05-09 19:57:11

打印机使用技巧

2021-07-06 07:21:17

桥接模式组合

2017-09-14 12:45:35

2018-05-12 16:26:17

互联网VPC子网

2010-10-15 10:54:29

英文面试

2020-11-02 09:03:22

代码开发工具

2011-06-16 12:43:22

jQuery

2021-06-22 09:18:13

Python代码技巧

2020-06-04 13:59:02

数据疫情科学家

2023-03-27 15:05:10

Python技巧

2022-06-21 09:27:01

PythonFlaskREST API

2012-07-23 10:22:15

Python性能优化优化技巧

2013-03-13 09:56:10

2017-04-10 09:59:08

python代码爱心线

2023-10-09 22:44:51

调试代码

2022-07-05 08:23:21

网络攻击网络安全

2020-02-13 13:50:28

Python数据Excel

2010-02-26 16:05:19

Python 源代码

2014-08-11 12:54:27

构建模块代码审查编程

2022-02-09 08:03:26

安全企业SOC
点赞
收藏

51CTO技术栈公众号