【问题标题】:What does the [0] signify in len(a[0])?len(a[0]) 中的 [0] 表示什么?
【发布时间】:2017-06-01 15:19:39
【问题描述】:

所以我找到了这段代码,但我无法理解 [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 新手,如果这是一个愚蠢的问题,对不起。

【问题讨论】:

  • 列表的第一个元素...一个下标
  • 查找列表索引、下标和/或__getitem__[0] 抓取列表的第一个元素。

标签: python-2.7 list loops parameters


【解决方案1】:

尝试你不理解的东西(并在你去的时候阅读文档)。

给定

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]]

您可以将每个列表列表视为矩阵的一部分,第一个索引表示行,第二个索引表示列:

【讨论】:

  • 是的,我知道它会做矩阵乘法:)。非常感谢您抽出宝贵时间回答:)
【解决方案2】:

a 是一个列表时,a[0] 将返回a 的第一个元素(列表从0 开始)。
在您的情况下,a[0]=[1,2]b[0]=[6,3]b[1]=[5,9]a[0][0]=1

【讨论】:

  • 感谢您回答问题:)
猜你喜欢
  • 2014-01-05
  • 1970-01-01
  • 2017-03-12
  • 2016-06-02
  • 1970-01-01
  • 1970-01-01
  • 2015-07-27
  • 2018-05-08
  • 1970-01-01
相关资源
最近更新 更多