我需要找到第i行第j列的2D-Array的元素。我只是简单地写了Ti并得到了正确的结果,但当我去“元素”的范围时,我得到了意想不到的结果。
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]]
我希望打印具有第一列和第二列的第二行、第三行,但输出结果却是整个第二行和第三行。
发布于 2019-04-07 19:53:16
不能按[:2]拆分列,T[1:3][:2]中的[:2]表示T[1:3]的前两个元素(这里是行)。您可以在numpy中执行此操作,但在list中不能。
您可以尝试执行以下操作:
[t[:2] for t in T[1:3]]输出:
[[15, 6], [10, 8]]发布于 2019-04-07 19:59:41
考虑第一个索引操作的输出:
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]]因此,您的第二个索引操作只获得了它的前两个元素,即compelete行。
您要查找的内容:
print([i[:2] for i in T[1:3]])
Out: [[15, 6], [10, 8]]这首先获取外部元素,然后获取内部元素。
https://stackoverflow.com/questions/55558694
复制相似问题