Python for 循环中的陷阱

2018-07-13 08:58:56 +08:00
 hoxis

Python 中的 for 循环和其他语言中的 for 循环工作方式是不一样的,今天就带你深入了解 Python 的 for 循环,看看它是如何工作的,以及它为什么按照这种方式工作。

https://mp.weixin.qq.com/s?__biz=MjM5NjMyMjUzNg%3D%3D&mid=2448130798&idx=1&sn=baa1799ceeee81dc05ba530845c03b9d&chksm=b2f42f698583a67f7c1066dc2778809327b0ffc0e0d314b2d8757fccf794137477eadcca2285&scene=0

5530 次点击
所在节点    Python
38 条回复
araraloren
2018-07-13 15:34:14 +08:00
既然 生成器中没有了东西,再迭代为何 python 不抛异常??
XuAaron
2018-07-13 16:02:33 +08:00
生成器内部就是这样实现的,看这个还不如去看官方教程,或者推荐看 简明 python 教程,也比看这个好。
gnozix
2018-07-13 16:06:26 +08:00
这是来搞笑的?
yanzixuan
2018-07-13 16:10:18 +08:00
LZ 是 UC 出来的?起个标题都这样吸引眼球?
NaVient
2018-07-13 16:16:10 +08:00
我觉得人家虽然写得不好,可也算是用心去写了,V2 什么时候风气这样了?你们觉得简单不看就行了嘛,干嘛喷人家?
aijam
2018-07-13 16:22:48 +08:00
TankyWoo
2018-07-13 16:29:57 +08:00
这种文章真恶心,讲生成器就好好讲,文章开头说什么陷阱,py 入门书都会说明生成器的概念和行为。
itskingname
2018-07-13 16:41:56 +08:00
垃圾文章,看到就烦。Block
whoami9894
2018-07-13 16:51:22 +08:00
列表解析外部用小括号返回的是生成器,生成器是一次性的,跟 for 循环有啥关系,更谈不上陷阱
Atukey
2018-07-13 16:54:03 +08:00
UC 员工吗?
luozic
2018-07-13 16:54:27 +08:00
python 一开始的语法里面就有啊,入门书里面还专门提了这个区别;已经 block
doraemon1293
2018-07-13 16:57:01 +08:00
一句话总结 ()的出来的 express comprehension 是 generator 不是 tuple
bin381
2018-07-13 17:00:57 +08:00
标题党
BOYPT
2018-07-13 17:06:51 +08:00
公众号毒瘤
xpresslink
2018-07-13 17:47:36 +08:00
这个 不正经程序员 对 python 其实只是一知半解,知其然不知其所以然的程序,主要是做小白粉丝营销的。

https://www.v2ex.com/t/466147
https://www.v2ex.com/t/466161
pynix
2018-07-13 18:08:53 +08:00
震惊,某 Python 半吊子博主发垃圾文被大佬按在地上摩擦!!!
mingyun
2018-07-13 23:46:58 +08:00
好奇公众号的链接为什么有的这么长 有的短 比如 https://mp.weixin.qq.com/s/oc0hvAr-FoJFtiDF5x2p4Q
future0906
2018-07-14 13:31:15 +08:00
楼主在经营自己的公众号无疑。
从纯技术的角度讨论说,python 这样做也是有问题的,这样的语法正常的期待也是生成一个 tuple 而不是 generator。

就像:
1.type([1,2,3]) = list
2.type([x for x in xx]) = list
3.type((1,2,3)) = tuple
4.type((x for x in xx)) == generator (黑人问号???)
我猜是需要优化某总语法的性能才这样做,但也是反人类的。

就像
type((1)) = int
type((1,)) = tuple

一样

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/470443

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX