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

在python中使用for循环内部列表,python,for-loop,Python,For Loop,我对这两种实现感到困惑: 实施1: 实施2: 产出: 实施1: [{'VAL':[0.36439704360819525,0.8234398731777764]},{'VAL':[0.8452416981328936,0.42974230274939684]}] 实施2: {'VAL':[0.2974249134210081,0.515705525207]} {'vals':[0.8142081726400429,0.6701375952682302]} for循环的2个实现与使用外部for循环

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

实施1: 实施2: 产出:

实施1: [{'VAL':[0.36439704360819525,0.8234398731777764]},{'VAL':[0.8452416981328936,0.42974230274939684]}]

实施2: {'VAL':[0.2974249134210081,0.515705525207]} {'vals':[0.8142081726400429,0.6701375952682302]}


for循环的2个实现与使用外部for循环执行第二个实现之间是否存在差异?

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


在实现2中,arr3的创建与实现1中的arr1类似。但是没有任何arr2-我猜你这里有一个打字错误,你倾向于在arr3中打印I,就像{vals:[]}。

是的。我只是看到了打字错误和arr2的东西。谢谢
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)
arr3 = [{'vals': [random() for i in range(2)]} for i in range(2)]

for i in arr3:
   print(i)