#Position1:
#results=[]
for i in range(2):
#Position2:
results=[]
for j in range(3):
#Position3:
#results=[]
results.append(i+j)
print(results)
最佳答案
这是不同的,因为 results=[]
只是将列表重新启动为空列表。因此,一旦您的代码执行results=[]
,其中存储的所有数据都会被删除。这取决于您初始化此列表的位置。所有三个位置都处于不同级别的 for 循环,因此输出不同。
位置 1 将存储两个 for
循环的所有输出,这意味着 for i = 0
, j = 0, 1, 2
然后 i = 1
, j = 0, 1, 2
位置 2 将重新初始化列表两次,因为您的外循环运行了两次。因此它将存储与 i = 1
和 j = 0, 1, 2
对应的数据,因为 i = 0
的列表将结束-写的。
位置 3 将重新初始化列表六次,因为外循环运行两次,内循环运行三次(外循环每次迭代三次)。
关于python - 解释一下为什么 "results"在3个不同的位置有不同的输出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54121232/