优雅编写Python3的62个小贴士!

640?wx_fmt=jpeg


来源 | 量化投资与机器学习(ID:Lhtz_Jqxx)


今天公众号为大家带来一篇有关Python技巧的文章,可以帮助你编写优雅的Python3代码!


iterable技巧


▍1、创建一个数字序列(从0到10,间隔为2)


 
 


▍2、对一串数字求和(从0到10,间隔为2


 
 


▍3、检查序列中的任一元素是否为True


 
 


▍4、检查序列中的所有元素是否为True


 
 


▍5、累计求和一串数字序列


 
 


6、给定每个iterable,通过添加索引来构造一个元组


 
 


7、将iterable连接到单个字符串


 
 


▍8、组合两个可迭代的元组或pivot嵌套的iterables


 
 


▍9、从iterables中获取最小值/最大值(具有/不具有特定功能)


 
 


▍10、可迭代排序(可以通过“compare”函数排序)


 
 


▍11、将单个字符串拆分为列表


 
 


▍12、初始化一个包含重复数字的列表


 
 


▍13、合并/插入两个字典


 
 


▍14、命名和保存iterables切片


 
 


▍15、在列表中查找项的索引


 
 


▍16、在iterables中查找最小/最大项的索引


 
 


▍17、iterables的k个元素


 
 


▍18、删除字符串末尾/开始/两端无用的字符


 
 


▍19、倒序iterables的顺序(字符串、列表等)


 
 


branching技巧


▍20、多个short-cut


 
 


▍21、For-else结构在搜索某些东西并找到它时很有用


 
 


▍22、Trenary operator


 
 


▍23、Try-catch-else结构


 
 


▍24、While-else结构


 
 


comprehensions(推导式)技巧


▍25、List推导式


 
 


26、Set推导式


 
 


27、Dict推导式


 
 


▍28、Generator推导式


 
 


▍29、list推导使用当前值和过往值


 
 


unpacking技巧


▍30、从iterable解压缩变量


 
 


▍31、交换变量值


 
 


▍32、在不指示所有元素的情况下从iterable解包变量


 
 


▍33、使用splat运算符解包变量


 
 


Itertools技巧


▍34、Flatten iterables


 
 


▍35、从iterables创建笛卡尔积


 
 


▍36、从iterable创建排列


 
 


▍37、从iterable创建ngram


 
 


▍38、使用填充组合元组的两个迭代器或使用填充pivot嵌套迭代


 
 


▍39、从一个iterable n中创建k个组合


 
 


▍40、在给定函数情况下创建一个迭代的累积结果


 
 


▍41、创建一个迭代器,只要谓词为True,就从iterable返回元素


 
 


▍42、创建一个迭代器,它从iterable中过滤元素,只返回谓词为False的元素


 
 


使用从迭代的迭代中获得的参数来计算函数


 
 


collections技巧


▍44、设置基本操作


 
 


▍45、计数器数据结构(无序集合,其中元素存储为字典键,其计数存储为字典值)


 
 


▍46、默认字典结构(字典的子类,在访问不存在的键时检索默认值)


 
 


▍47、有序的dict结构(保持有序字典的子类)


 
 


▍48、Deques结构(Deques是堆栈和队列的概括)


 
 


▍49、命名元组结构(创建类元组的对象,这些对象的字段可通过属性查找访问,也可索引和迭代)


 
 


▍50、使用字典来存储Switch


 
 


▍51、数据类结构


 
 


其他技巧


▍52、生成uuid


 
 


53、使用LRU缓存进行记忆


 
 


▍54、Suppression of expressions


 
 


▍55、在需要设置和拆卸时创建上下文管理


640?wx_fmt=png

地址:

https://docs.python.org/2/library/contextlib.html?source=post_page---------------------------


▍56、一种处理文件路径的优雅方法(3.4≥)


 
 


▍57、将标准操作符实现为类的函数


640?wx_fmt=png

地址:

https://docs.python.org/3/library/operator.html?source=post_page---------------------------


▍58、创建装饰器来分离concerns


 
 


▍59、使用yield创建一个简单的迭代器


 
 


▍60、yield from use cases and tricks


640?wx_fmt=png

地址:

https://stackoverflow.com/questions/9708902/in-practice-what-are-the-main-uses-for-the-new-yield-from-syntax-in-python-3?source=post_page---------------------------


彩蛋


▍61、Anti-gravity


 
 


▍62、The Zen of Python



希望以上62个小贴士对你在今天的学习和工作中有所帮助哦!


(*本文为 Python大本营转载文章,转载请联系作者)



AI 开发者大会精彩提前看


2019 AI开发者大会重磅嘉宾更新:阿里、华为、Google Brain、Amazon、微软中国、百度、京东、小米、快手、科大讯飞、商汤、旷视、图森、云知声、思必驰...“硬核AI技术大会,一年参加一次就够了”。早鸟票倒计时最后 1 天,更多嘉宾和大会信息请扫码查看 。

640?wx_fmt=jpeg

推荐阅读:

640?wx_fmt=png 你点的每个“在看”,我都认真当成了喜欢
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值