如何访问2D数组中的元素?

car*_*ran 15 python arrays

我是python的新手,我想了解一个人如何操纵数组的元素.如果我有例如:

a= ( a11 a12 a13 )  and b = (b11 b12 b13) 
     a21 a22 a23             b21 b22 b23
Run Code Online (Sandbox Code Playgroud)

我在python中定义了它们,例如:

a=[[1,1],[2,1],[3,1]]
b=[[1,2],[2,2],[3,2]]
Run Code Online (Sandbox Code Playgroud)

我看到我不能参考,a[1][1]但是给a[1]了我一个结果[2,1].所以,我不明白如何访问这些数组的第二行?那会是a21, a22, a23, b21, b22, b23?我怎么做才能使它们成倍增加c1 = a21*b21, c2 = a22*b22

agf*_*agf 16

如果你有

a=[[1,1],[2,1],[3,1]]
b=[[1,2],[2,2],[3,2]]
Run Code Online (Sandbox Code Playgroud)

然后

a[1][1]
Run Code Online (Sandbox Code Playgroud)

会工作得很好.它指向第二列,第二行就像你想要的那样.

我不确定你做错了什么.

要增加第三列中的单元格,您可以这样做

c = [a[2][i] * b[2][i] for i in range(len(a[2]))] 
Run Code Online (Sandbox Code Playgroud)

哪个适用于任意数量的行.

编辑:第一个数字是列,第二个数字是行,具有当前布局.它们都从零开始编号.如果您想切换订单,您可以这样做

a = zip(*a)
Run Code Online (Sandbox Code Playgroud)

或者你可以这样创建它:

a=[[1, 2, 3], [1, 1, 1]]
Run Code Online (Sandbox Code Playgroud)