我正在尝试做我认为应该很简单的事情:
我制作了一个二维列表:
a = [[1,5],[2,6],[3,7]]
我想滑出第一个 column 并尝试:
1)
a[:,0]
...
TypeError: list indices must be integers or slices, not tuple
2)
a[:,0:1]
...
TypeError: list indices must be integers or slices, not tuple
3)
a[:][0]
[1, 5]
4)
a[0][:]
[1, 5]
5) 明白了,但这是这样做的方法吗?
aa[0] for aa in a
使用 numpy 会很容易,但是 Python 的方式是什么?
请您参考如下方法:
a[:, 0] 之类的二维切片仅适用于 NumPy 数组,不适用于列表。
不过,您可以使用 zip(*a) 转置(行变为列,反之亦然)嵌套列表。转置后,只需切出第一行:
a = [[1,5],[2,6],[3,7]]
print zip(*a) # [(1, 2, 3), (5, 6, 7)]
print list(zip(*a)[0]) # [1, 2, 3]
