嗨,我需要使用此邏輯創建一個有序對(無函式):
#---------------------------------------------------------------------------------
A = [2,5,7];
B = [6,2];
LA = len(A)
LB = len(B)
Maux = [];
print(type(Maux))
for i in range(0,LA,1):
for j in range(0,LB,1):
Maux[i-1*LB j , j] = [A[i] , B[j]]
print(Maux);
#---------------------------------------------------------------------------------
當我編譯系統時說:串列索引必須是整數或切片,而不是元組
我讀到了這個問題,我認為訪問矩陣的索引不正確。
任何想法?
uj5u.com熱心網友回復:
如果您宣告Maux為 adict您的代碼將起作用:使用Maux = {}.
另外,去掉行尾的分號:你正在撰寫 Python,而不是 C Java Pascal 等。
您不需要,1在呼叫結束時使用“”,range(...)為了便于閱讀,逗號后面應該跟一個空格,您實際上并不需要LA,但沒關系,并且您不需要將任何內容乘以1. 通過這些改進:
A = [2, 5, 7]
B = [6, 2]
LA = len(A)
LB = len(B)
Maux = {}
print(type(Maux))
for i in range(0, LA):
for j in range(0, LB):
Maux[i - LB j, j] = [A[i] , B[j]]
print(Maux)
輸出:
<class 'dict'>
{(-2, 0): [2, 6], (-1, 1): [2, 2], (-1, 0): [5, 6], (0, 1): [5, 2], (0, 0): [7, 6], (1, 1): [7, 2]}
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/449394.html
