什么是列表生成式(Python列表生成器的循环技巧分享)

本文目录
Python列表生成器的循环技巧分享
Python列表生成器的循环技巧分享
这篇文章主要介绍了Python列表生成器的循环技巧分享,本文讲解了列表生成器中一个循环和二个循环的不同写法,需要的朋友可以参考下
列表生成式即List Comprehensions,是Python内置的非常简单却强大的可以用来创建list的生成式。
一个循环
在C语言等其他语言中,for循环一般是这样的
如果python也这么写,那么真该看下python的基础教程了~
但要注意的是,需要加一个来,否则会报错...
在上面的例子中,不仅可以嵌套for,甚至可以嵌套if语句
再看看,原来是什么样子
两个循环呢?
原来可能是这样的?
现在可以这样了!!!
浅谈Python中列表生成式和生成器的区别
列表生成式语法:
//列表生成式,这里是中括号
//结果
(x*x for x in range(0,10)) //生成器, 这里是小括号
//结果 《generator object 《genexpr》 at 0x7f0b072e6140》
二者的区别很明显:
一个直接返回了表达式的结果列表, 而另一个是一个对象,该对象包含了对表达式结果的计算引用, 通过循环可以直接输出
g = (x*x for x in range(0,10))
for n in g:
print n
结果
0
1
4
9
16
25
36
49
64
81
当表达式的结果数量较少的时候, 使用列表生成式还好, 一旦数量级过大, 那么列表生成式就会占用很大的内存,
而生成器并不是立即把结果写入内存, 而是保存的一种计算方式, 通过不断的获取, 可以获取到相应的位置的值,所以占用的内存仅仅是对计算对象的保存

更多文章:
重装系统后sql数据库修复(系统崩溃后,关于MYSQL恢复数据库的问题!求救啊!)
2025年7月16日 14:30
java队列(Java中关于如何实现多线程消息队列的实例(java多线程通信))
2025年9月26日 04:00
win10安装sql2005(Win10系统能安装SQL2005)
2025年7月12日 04:45
尿白细胞高是什么病(尿常规异常是怎么回事 尿常规白细胞高是什么原因)
2025年12月26日 09:00
competition反义词和同义词(竞争的意思解释 竞争造句 近义词反义词)
2026年3月5日 22:15
caps lock(键盘上的“Caps Lock”键起什么作用)
2026年2月14日 23:30
response paper怎么写(留学作业中的response paper是什么response paper怎么写)
2026年6月30日 18:45
狄利克雷函数qc(狄利克雷函数(Dirichlet Function)有什么用处)
2026年1月13日 18:15
string为什么要用命名空间(想写一个简单的C++程序,由用户输入姓名(一个字符串)然后输出欢迎信息这里姓名用什么来存储呢)
2026年2月8日 07:30
php只能使用mysql(PHP进行Web开发的过程中除了使用MySQL数据库,还可以使用其他的数据库吗)
2025年7月3日 19:15











