Python初学者在这里;在 Python3 中,想知道使用这两种技术的正确时机:1)For 循环l_1=[1, 2, 3]l_2=list()for i in range(len(l_1)): l_2.append(l_1[i])print(l_2) #[1, 2, 3]2)列表理解l_1=[1, 2, 3]l_3=[l_1[i] for i in range(len(l_1))]print(l_3) #[1, 2, 3]从一开始,它看起来完全一样。两者之间有什么本质区别吗?
1 回答
呼唤远方
TA贡献1856条经验 获得超11个赞
使用列表推导式的优点是什么?首先,您将 3 行代码缩减为 1 行,任何了解列表推导式的人都可以立即识别。其次,第二个代码更快,因为 Python 将首先分配列表的内存,然后再向其中添加元素,而不必在运行时调整大小。它还可以避免必须调用“附加”,这可能很便宜但加起来。最后,使用推导式的代码被认为更“Pythonic”——更符合 Python 的风格指南。Python 的列表推导:用途和优势,Luciano Strika
列表理解:
更容易阅读
更快,因为先前的内存分配
For循环:
更灵活
添加回答
举报
0/150
提交
取消