gpt4 book ai didi

Python列表推导式与生成器表达式用法示例

转载 作者:qq735679552 更新时间:2022-09-28 22:32:09 24 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章Python列表推导式与生成器表达式用法示例由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.

本文实例讲述了Python列表推导式与生成器表达式用法。分享给大家供大家参考,具体如下:

和列表一样,列表推导式也采用方括号[]表示,并且用到了一个简写版的for循环,第一部分是一个生成结果列表元素的表达式,第二部分是一个输入表达式上的循环。阅读理解列表表达式的推荐做法是先从里面的for循环开始,向右查看是否有if条件,然后将推导式开始的那个表达式映射到每一个匹配的元素上去.

?
1
2
3
>>> even_numbers = [x for x in range ( 10 ) if x % 2 = = 0 ]
>>> even_numbers
[ 0 , 2 , 4 , 6 , 8 ]

以上例子展示了使用if语句来过滤元素.

Python还支持另外一种和列表表达式类似的结构,叫做生成器表达式(generator expression),除了它有一种称之为“惰性计算”的特点以外,它和列表推导式的用法基本一致。它的工作方式是每次处理一个对象,而不是一口气处理和构造整个数据结构,这样做的潜在优点是可以节省大量的内存.

?
1
2
3
>>> even_numbers = (x for x in range ( 10000 ) if x % 2 = = 0 )
>>> even_numbers
<generator object at 0x ....>

在处理大量的数据是,最好考虑生成器表达式而不是列表推导式.

另一个列表推导式和生成器表达式的例子是:

?
1
2
3
4
5
>>> data = [ 'abc' , 'def' , 'I use python' , 'hong201' ]
>>> sum ([ len (word) for word in data])
25
>>> sum ( len (word) for word in data)
25

enumerate()是一个同时能让你迭代和计数的内置函数,而for循环自身只能迭代而没办法计数:

?
1
2
3
4
5
6
7
>>> data = [ 123 , "abc" , 3.14 ]
>>> for i in enumerate (data):
...   print i
...
( 0 , 123 )
( 1 , 'abc' )
( 2 , 3.14 )

希望本文所述对大家Python程序设计有所帮助.

原文链接:http://blog.csdn.net/Ethan706/article/details/40393429 。

最后此篇关于Python列表推导式与生成器表达式用法示例的文章就讲到这里了,如果你想了解更多关于Python列表推导式与生成器表达式用法示例的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com