我想了解如何操作二维数组的元素。
如果我有例如:
a= ( a11 a12 a13 ) and b = (b11 b12 b13)
a21 a22 a23 b21 b22 b23
我已经在 python 中定义了它们,例如:
a=[[1,1],[2,1],[3,1]]
b=[[1,2],[2,2],[3,2]]
我看到我不能引用 a[1][1]
而是引用 a[1]
这给了我 [2,1 ]
。
所以,我不明白如何访问这些数组的第二行?那将是 a21, a22, a23, b21, b22, b23
?
我该怎么做才能将它们相乘为 c1 = a21*b21, c2 = a22*b22
等?
最佳答案
如果你有
a=[[1,1],[2,1],[3,1]]
b=[[1,2],[2,2],[3,2]]
然后
a[1][1]
将正常工作。它指向第二列,第二行,就像你想要的那样。
我不确定你做错了什么。
要将第三列中的单元格相乘,您可以这样做
c = [a[2][i] * b[2][i] for i in range(len(a[2]))]
这适用于任意数量的行。
编辑:第一个数字是列,第二个数字是行,与您当前的布局。它们都是从零开始编号的。如果你想改变你可以做的顺序
a = zip(*a)
或者你可以这样创建它:
a=[[1, 2, 3], [1, 1, 1]]
关于python - 如何访问二维数组的元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7022211/