何时使用“ For循环vs列表理解”创建新列表?

苏曼思·拉撒路(Sumanth Lazarus)

Python初学者在这里;在Python3中,想了解使用这两种技术的正确时机:1)For Loop

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]

从一开始就看起来完全一样。两者之间有内在的区别吗?

托马斯·G。

使用列表推导的优势是什么?首先,您将3行代码缩减为1行,任何理解列表理解的人都可以立即识别。其次,第二个代码更快,因为Python将在添加元素之前先分配列表的内存,而不必在运行时调整大小。它还将避免不得不调用“追加”,这可能很便宜但会加起来。最后,使用理解的代码被认为更“ Pythonic”-更适合Python的样式准则。Python的列表理解:用途和优点,Luciano Strika

清单理解:

  • 更容易阅读
  • 更快,因为事先分配了内存

对于循环:

  • 更灵活

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章