2017-06-01 14 views
0

私はこのコードを見つけましたが、実際には[0]または任意の数字の機能が何であるか理解できません。[0]はlen(a [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

あなたが理解していないことを試してください(あなたが行く間にドキュメントを読む)。

考える

我々は

>>> len(a) 
2 

だから、aたちはa にインデックスを付けることでアクセスすることができますし、我々はあまりにも遠くに行けば、我々は、エラーを取得しますされ、2つのものを持ってもらう

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

>>> 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(b[0])と表示されますが、です。 a[0][1, 2]だったので、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

リストの各リストを行列の一部として見なすことができます。最初のインデックスは行を与え、2番目のインデックスは列を与えます。

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

質問に答えるためにありがとう:) –

関連する問題