在python中的列表内部使用for循环



我对这两种实现感到困惑:

实施1:

arr1 = []
arr2 = []
for j in range(2):
arr1.append({"vals":[random() for j in range(2)]} )
arr2.append(arr1)
for i in arr2:
print(i)

实施2:

arr3 = [{'vals': [random() for i in range(2)]} for i in range(2)]
for i in arr3:
print(i)

输出:

实施1:

[{‘vals’:[0.36439704360819525,0.8234398731777764]},{‘val’:[0.8452416981328936,0.42974230274939684]}]

实施2:

{"vals":[0.9742491342100810.515705525022607]}{‘vals’:[0.81420817640429,0.6701375952682302]}

for循环的2个实现和我可以用外部for循环进行第二个实现之间有区别吗?

在您的实现1中,您将arr1创建为一个包含两个项(如{vals:[]}(的数组,并将其附加到arr2,arr2是一个包含一个项(即arr1(的数组

在implementation2中,创建的arr3与implementation1中的arr1类似。但没有任何arr2-我想你在这里有一个拼写错误,你倾向于在arr3中打印I,这就像{vals:[]}。

相关内容

  • 没有找到相关文章

最新更新