记住这35个大神级别的Python操作,足够精简上千行代码!

从我开始学习python的时候,我就开始自己总结一个python小技巧的集合。后来当我什么时候在Stack Overflow或者在某个开源软件里看到一段很酷代码的时候,我就很惊讶:原来还能这么做!,当时我会努力的自己尝试一下这段代码,直到我懂了它的整体思路以后,我就把这段代码加到我的集合里。

如果你已经是个python大牛,那么基本上你应该知道这里面的大多数用法了。

1.1 拆箱

1.2 拆箱变量交换

1.3 扩展拆箱(只兼容python3)

1.4 负数索引

1.5 切割列表

1.6 负数索引切割列表

1.7指定步长切割列表

1.8 负数步长切割列表

1.9 列表切割赋值

1.10 命名列表切割方式

1.11 列表以及迭代器的压缩和解压缩

1.12 列表相邻元素压缩器

1.13 在列表中用压缩器和迭代器滑动取值窗口

1.14 用压缩器反转字典

1.15 列表展开

1.16 生成器表达式

1.17 字典推导

1.18 用字典推导反转字典

1.19 命名元组

1.20 继承命名元组

1.21 操作集合

1.22 操作多重集合

1.23 统计在可迭代器中最常出现的元素

1.24 两端都可操作的队列

1.25 有最大长度的双端队列

1.26 可排序词典

1.27 默认词典

1.28 默认字典的简单树状表达

1.29 对象到唯一计数的映射

1.30 最大和最小的几个列表元素

1.31 两个列表的笛卡尔积

1.32 列表组合和列表元素替代组合

1.33 列表元素排列组合

1.34 可链接迭代器

1.35 根据文件指定列类聚

好了,以上35个操作,能够极大的精简Python的代码行数,将编程效率提升至更高水平。

最后送上一首Python之禅:

The Zen of Python, by Tim Peters

Beautiful is better than ugly.

Explicit is better than implicit.

Simple is better than complex.

Complex is better than complicated.

Flat is better than nested.

Sparse is better than dense.

Readability counts.

Special cases aren't special enough to break the rules.

Although practicality beats purity.

Errors should never pass silently.

Unless explicitly silenced.

In the face of ambiguity, refuse the temptation to guess.

There should be one-- and preferably only one --obvious way to do it.

Although that way may not be obvious at first unless you're Dutch.

Now is better than never.

Although never is often better than *right* now.

If the implementation is hard to explain, it's a bad idea.

If the implementation is easy to explain, it may be a good idea.

Namespaces are one honking great idea -- let's do more of those!

本文由Python头条团队原创整理,转载请保留出处。

本文来自企鹅号 - 全球大搜罗媒体

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏数据结构与算法

3339: Rmq Problem

Description image.png Input image.png Output image.png Sample Input 7 5 ...

352110
来自专栏C语言及其他语言

【每日一题】问题 1073: 弟弟的作业

你的弟弟刚做完了“100以内数的加减法”这部分的作业,请你帮他检查一下。每道题目(包括弟弟的答案)的格式为a+b=c或者a-b=c,其中a和b是作业中给出的,均...

11830
来自专栏Echo is learning

字符、字符集、编码,以及它们python中会遇到的一些问题(上)

20670
来自专栏ACM算法日常

UVA10305 | 拓扑排序

John has n tasks to do. Unfortunately, the tasks are not independent and the exe...

9720
来自专栏Java帮帮-微信公众号-技术文章全总结

Java 8 Lambda函数编程【面试+工作】

链接:https://pan.baidu.com/s/1q_S2URG8mWKI1nTvPVvDzg 密码:2als

25230
来自专栏写代码的海盗

scala与java之间的那些事

  scala与java之间的关系,我认为可以用一句话来开头:scala来源于java,但又高于java。   scala的设计者Martin Odersky就...

38250
来自专栏做全栈攻城狮

电脑小白自学软件编程-.Net语法基础之循环语句,纯技巧干货

课程总目录:因头条无法自定义目录,大家关注:“做全栈攻城狮”微信公众号。回复“.net目录”,即可获取。微信公众号也包含大量学习教程,等你来~

15640
来自专栏简书专栏

Python程序结构

4种流程控制语句结构: if if -- else if -- elif --else if多条件

38120
来自专栏小鹏的专栏

tf API 研读3:Building Graphs

tensorflow是通过计算图的方式建立网络。 比喻说明: 结构:计算图建立的只是一个网络框架。编程时框架中不会出现任何的实际值,所有权重(weight)和偏...

26270
来自专栏程序员互动联盟

【专业技术】hash_map使用(二)

上次说完了简单类型的hash_map使用,现在说说用户自定义类型:比如对象类型,结构体的hash_map使用。 这种情况比价复杂,我们先...

295110

扫码关注云+社区

领取腾讯云代金券