【发布时间】:2023-03-03 01:21:02
【问题描述】:
假设我有这样一段简单的代码:
for i in range(1000):
if i in [150, 300, 500, 750]:
print(i)
列表[150, 300, 500, 750] 是否在循环的每次迭代中创建?或者我可以假设解释器(比如 CPython 2.7)足够聪明,可以优化它吗?
【问题讨论】:
-
有趣的相关问题:Tuple or list when using 'in' in an 'if' clause?。详细介绍了 CPython 在幕后所做的工作。
-
除非您指定您想了解 1 个特定 解释器,否则这很难回答。你能改写“(比如,CPython 2.7)”来指明你想确切地了解那个解释器吗?
标签: python python-2.7 loops python-3.x interpreter