簡體   English   中英

TypeError:列表索引必須是整數或切片,而不是元組?

[英]TypeError: list indices must be integers or slices, not tuple?

我想將矩陣的每個元素分配給向量的元素。 它看起來非常簡單,但出現以下錯誤:

TypeError:列表索引必須是整數或切片,而不是元組

如何解決這個問題呢? 在下面,您可以找到包含其他信息的腳本。 再次感謝您的幫助。

我試圖用whos繪制變量。 顯然,我有清單。 我不十分清楚列表和向量之間的區別。

enter code here
##-- DATA
Addm_strength=[7, 8 ,9 ,10]
stress= [[1, 4], 
   [-5, -8],
   [ 4, 8 ] ,
   [ 4, 8 ] ]
hef_sigma=[0.005, 0.006]

ratio_lam = np.zeros( (len(Addm_strength), len(hef_sigma)) ) 
print('ratio_lam',ratio_lam)

#-- CODE
for i in range(0, len(Addm_strength)):
    for j in range(0, len(hef_sigma)):
        ratio_lam[i,j]=stress[i,j]h/Addm_strengt[i]

print('ratio_lam',ratio_lam)

預期結果是一個稱為ratio_lam的矩陣。

您需要更改:

stress= [[1, 4], 
   [-5, -8],
   [ 4, 8 ] ,
   [ 4, 8 ] ]

至:

stress= np.array([[1, 4], 
   [-5, -8],
   [ 4, 8 ] ,
   [ 4, 8 ] ])

這是輸出:

ratio_lam [[ 0.14285714  0.57142857]
 [-0.625      -1.        ]
 [ 0.44444444  0.88888889]
 [ 0.4         0.8       ]]

ratio_lam[i,j]=stress[i,j]/Addm_strength[i] ,將應力作為數組中的元素進行訪問。 重音需要是數組,而不是列表。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM