WEB开发网
开发学院软件开发Python 可爱的 Python:获得版本 2.0 阅读

可爱的 Python:获得版本 2.0

 2007-03-29 12:08:12 来源:WEB开发网   
核心提示: 大多数读者会注意到在前一段中有个奇怪的措辞:“其它函数语言,”作为 Python 程序员,可爱的 Python:获得版本 2.0(2),自从 Python 1.0 以来,您已在使用(混合的)函数语言进行编程,列表内涵能力中没有什么新内容;在 Python 1.5x

大多数读者会注意到在前一段中有个奇怪的措辞:“其它函数语言。”作为 Python 程序员,自从 Python 1.0 以来,您已在使用(混合的)函数语言进行编程。当然,如果您还不习惯使用内置函数 lambda()、map()、reduce() 和 filter(),您也还没使用过这些函数特性。但即使您使用过这些,Python 总是使它易于避免考虑函数范例。

无论在什么情况下,列表内涵都是执行许多 Python 内置函数所执行的操作的一种方法,但使用的方式更为紧密,同时更方便了读取和理解。让我们从一个使用中的简单列表内涵的示例开始:

列表内涵示例

>>> xs = (1,2,3,4,5)
>>> ys = (9,8,7,6,5)
>>> bigmuls = [(x,y)
    
     for
     x
    
     in
     xs
    
     for
     y
    
     in
     ys
    
     if
     x*y > 25]
>>>
    
     print
     bigmuls
[(3,9), (4,9), (4,8), (4,7), (5,9), (5,8), (5,7), (5,6)]

在该例中,我们创建了一个元组的列表,其中每个元组元素都是从其它列表中抽取出的,而每个列表元素又都满足某些特性。如果不使用 if 子句,我们只能创建一个排列(通常在它们本身中有用);而如果使用 if 子句,我们可以创建一个对列表进行删节的 filter() 类型。顺便说一下,一个列表内涵中允许存在多个 if 子句。

从根本上说,列表内涵能力中没有什么新内容;在 Python 1.5x 中当然也可以达到相同的效果,但没那么清楚。例如,下面一些更冗长(因此不很清晰)的技术可以做同样的事:

上一页  1 2 3 4 5 6 7  下一页

Tags:可爱 Python 获得

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接