首页 存档 技术 查看内容

Python高级编程技巧

2018-3-30 13:00 |来自: 互联网 473 0

摘要: (点击上方公众号,可快速关注) 来源:pypix 译文:伯乐在线 - 熊崽Kevin 链接:http://python.jobbole.com/61171/ 译注:本文的英文题目是《Advanced Design Patterns in Python》,可直译为《Python中的高级 ...

(点击上方公众号,可快速关注)


来源:pypix

译文:伯乐在线 - 熊崽Kevin

链接:http://python.jobbole.com/61171/


译注:本文的英文题目是《Advanced Design Patterns in Python》,可直译为《Python中的高级设计模式》。不过本人在通读完全文之后发现文章的内容与我们通常理解的设计模式有很大出入,原文后的评论中也有其他读者提出了这一点。因此,根据文章内容我将题目译为“Python高级编程技巧”,如有不同意见请留言指出,非常感谢。


正文:


本文展示一些高级的Python设计结构和它们的使用方法。在日常工作中,你可以根据需要选择合适的数据结构,例如对快速查找性的要求、对数据一致性的要求或是对索引的要求等,同时也可以将各种数据结构合适地结合在一起,从而生成具有逻辑性并易于理解的数据模型。Python的数据结构从句法上来看非常直观,并且提供了大量的可选操作。这篇指南尝试将大部分常用的数据结构知识放到一起,并且提供对其最佳用法的探讨。


推导式(Comprehensions)


如果你已经使用了很长时间的Python,那么你至少应该听说过列表推导(list comprehensions)。这是一种将for循环、if表达式以及赋值语句放到单一语句中的一种方法。换句话说,你能够通过一个表达式对一个列表做映射或过滤操作。


一个列表推导式包含以下几个部分:


  • 一个输入序列

  • 一个表示输入序列成员的变量

  • 一个可选的断言表达式

  • 一个将输入序列中满足断言表达式的成员变换成输出列表成员的输出表达式


举个例子,我们需要从一个输入列表中将所有大于0的整数平方生成一个新的序列,你也许会这么写:


num = [1, 4, -5, 10, -7, 2, 3, -1]

filtered_and_squared = []

for number in num:

if number

声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系 [邮箱地址] 删除

路过

雷人

握手

鲜花

鸡蛋

相关分类

返回顶部