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

640?wx_fmt=png


作者 | QIML编辑部

来源 | 量化投资与机器学习(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个小贴士对你在今天的学习和工作中有所帮助哦!


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


精彩推荐



640?wx_fmt=jpeg


60+技术大咖与你相约 2019 AI ProCon!大会早鸟票已售罄,优惠票速抢进行中......2019 AI开发者大会将于9月6日-7日在北京举行,这一届AI开发者大会有哪些亮点?一线公司的大牛们都在关注什么?AI行业的风向是什么?2019 AI开发者大会,倾听大牛分享,聚焦技术实践,和万千开发者共成长。


推荐阅读

  • 超全!深度学习在计算机视觉领域的应用一览

  • 数十篇推荐系统论文被批无法复现:源码、数据集均缺失,性能难达预期

  • SpanBERT:提出基于分词的预训练模型,多项任务性能超越现有模型!

  • 真实揭秘 90 后程序员奔三准备:有人学金融投资,有人想当全栈工程师!

  • Python之父新发文,将替换现有解析器

  • 乘势而起,走进2019年风口“边缘计算”

  • 天网恢恢!又一名暗网比特币洗钱者被抓了


640?wx_fmt=png 你点的每个“在看”,我都认真当成了喜欢


你可能感兴趣的:(优雅编写Python3的62个小贴士!)