2017-06-01 747 views
0

所以我有這個代碼,我發現了,但我無法理解這裏[0]或任何數字的功能。len(a [0])中的[0]代表什麼?

a = [[1,2],[3,4]] 
b = [[6,3],[5,9]] 
t = [[0,0],[0,0]] 

for i in range(len(a)): 

    for j in range(len(b[0])): 

     for k in range(len(b)): 
      t[i][j] += a[i][k] * b[k][j] 
print t 

我真的很新的Python,所以,如果這是一個愚蠢的問題,很抱歉。

+0

列表中的第一個元素...標 – Li357

+0

查找列表索引,下標和/或'__getitem__'。 '[0]'抓取列表的第一個元素。 – Carcigenicate

回答

0

嘗試你不瞭解的事情(並在你去的時候閱讀文檔)。

鑑於

a = [[1,2],[3,4]] 
b = [[6,3],[5,9]] 
t = [[0,0],[0,0]] 

我們得到

>>> len(a) 
2 

所以,a在,我們可以通過索引訪問到a 如果我們走的太遠,我們會得到一個錯誤兩件事情:

>>> a[0] 
[1, 2] 
>>> a[1] 
[3, 4] 
>>> a[2] 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
IndexError: list index out of range 

你問了約len(a[0]),但代碼說len(b[0])a[0][1, 2],所以兩件事情的清單,確實

>>> len(a[0]) 
2 

甚至

>>> len(b[0]) 
2 

你必須列出一些名單。對它們進行索引會給你一個單一的列表。

而只是回顧一下,a[0]是一個列表[1,2]。我們可以得到的,要麼元素,如果我們走的太遠,我們得到一個錯誤:

>>> a[0][0] 
1 
>>> a[0][1] 
2 
>>> a[0][2] 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
IndexError: list index out of range 

的代碼做矩陣乘法,看看你會得到什麼t

>>> print t 
[[16, 21], [38, 45]] 

As matrix

您可以將每個列表作爲矩陣的一部分,第一個索引給出行,第二個列給出:

rows and columns

+0

是的,我知道它矩陣乘法:)。非常感謝您花時間回答:) –

0

a是列表時,a[0]將返回a(列表從0開始)的第一個元素。
在你的情況下,a[0]=[1,2],b[0]=[6,3],b[1]=[5,9]a[0][0]=1

+0

感謝您回答這個問題:) –

相關問題