如何打印数组中的元素?

时间:2019-04-07 11:48:30

标签: python arrays python-3.x multidimensional-array

我需要找到第i行第j列的2D数组的元素。 我只写T [i] [j]并得到正确的结果,但是当我搜索“元素”范围时却得到了意外的结果

T = [[11, 12, 5, 2], [15, 6,10], [10, 8, 12, 5], [12,15,8,6]]
print(T[1][2])

Out[2]: 10

print(T[1:3][:2])

Out[3]: [[15, 6, 10], [10, 8, 12, 5]]

我希望打印具有第一和第二列的第二,第三行,但输出却是整个第二和第三行。

2 个答案:

答案 0 :(得分:1)

您无法按[:2]拆分列,[:2]中的T[1:3][:2]表示T[1:3]的前两个元素(此处为行)。您可以在numpy中进行此操作,但不能在list中进行此操作。

您可以尝试以下方法:

[t[:2] for t in T[1:3]]

输出:

[[15, 6], [10, 8]]

答案 1 :(得分:1)

考虑第一个索引操作的输出:

T = [[11, 12, 5, 2], [15, 6,10], [10, 8, 12, 5], [12,15,8,6]]
print(T[1:3])
Out: [[15, 6, 10], [10, 8, 12, 5]]

因此,第二次索引操作只是获取其中的前两个元素,即互补行。

您要寻找的东西:

print([i[:2] for i in T[1:3]])
Out: [[15, 6], [10, 8]]

首先获取外部元素,然后获取内部元素。