我想要的是:當 k=0 時,對 Qs 的所有值做所有的數學運算并將其保存在一個串列中。之后,對 k=1 執行相同的操作并將其保存在另一個串列中等...
Qs = [1,2,3,4,5,6,7,8,9,10]
m =[(10**(-2)), (10**(-2)), (10**(-2)), 1.27]
e = [2/3, -1/3, -1/3, 2/3]
psi_T = []
psi_L = []
for i in range(len(m)):
psi_t = 1 m[i]
psi_l = 2 e[i]
psi_T.append(psi_t)
psi_L.append(psi_l)
for k in range(len(psi_T)):
sigmaT_up = []
sigmaL_up = []
for n in range(len(Qs)):
sigmat_up = 2*psi_T[k] Qs[n]
sigmal_up = 2*psi_L[k] Qs[n]
sigmaT_up.append(sigmat_up)
sigmaL_up.append(sigmal_up)
F2up = []
for n in range(len(Qs)):
F2u = (sigmaT_up[n] sigmaL_up[n])
F2up.append(F2u)
print(F2up)
[11.873333333333333, 13.873333333333333, 15.873333333333331, 17.87333333333333, 19.87333333333333, 21.87333333333333, 23.87333333333333, 25.87333333333333, 27.87333333333333, 29.87333333333333]
在我的代碼中,它不斷地用 k=3 (k = 0,1,2,3) 獲得的值替換之前的值。我知道我只給了代碼一個保存串列(F2up),但我不知道如何讓它在每次回圈后更改保存串列。
uj5u.com熱心網友回復:
似乎您想創建一個“主”串列,其中 master_list[i] 是 k = i 時創建的 F2up 串列。
Qs = [1,2,3,4,5,6,7,8,9,10]
m =[(10**(-2)), (10**(-2)), (10**(-2)), 1.27]
e = [2/3, -1/3, -1/3, 2/3]
psi_T = []
psi_L = []
for i in range(len(m)):
psi_t = 1 m[i]
psi_l = 2 e[i]
psi_T.append(psi_t)
psi_L.append(psi_l)
# create master_list
master_list = []
for k in range(len(psi_T)):
sigmaT_up = []
sigmaL_up = []
for n in range(len(Qs)):
sigmat_up = 2*psi_T[k] Qs[n]
sigmal_up = 2*psi_L[k] Qs[n]
sigmaT_up.append(sigmat_up)
sigmaL_up.append(sigmal_up)
F2up = []
for n in range(len(Qs)):
F2u = (sigmaT_up[n] sigmaL_up[n])
F2up.append(F2u)
# add kth F2up list to master_list
master_list.append(F2up)
print(master_list)
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/438421.html
下一篇:用于約束矩陣計算的回圈
