numpy: 指定多维数组的轴
你用 numpy 做的很接近,但你使用了错误的轴。如果你指定axis=0,你会得到你想要的结果。
>>> import numpy as np
>>> l = [(1, 2), (3, 4), (5, 6), (7, 8), (9, 10)]
>>> l = np.array(l)
>>> l
array([[ 1, 2],
[ 3, 4],
[ 5, 6],
[ 7, 8],
[ 9, 10]])
>>> np.delete(l, [2,3], axis=0)
array([[ 1, 2],
[ 3, 4],
[ 9, 10]])
原版 Python
对于逐步改变列表的操作,按索引的降序排列很重要,例如[3, 2] 而不是 [2, 3]:
与pop()
>>> l = [(1, 2), (3, 4), (5, 6), (7, 8), (9, 10)]
>>> l.pop(3)
(7, 8)
>>> l.pop(2)
(5, 6)
>>> l
[(1, 2), (3, 4), (9, 10)]
与del
>>> l = [(1, 2), (3, 4), (5, 6), (7, 8), (9, 10)]
>>> for i in [3, 2]:
... del l[i]
...
>>> l
[(1, 2), (3, 4), (9, 10)]
与remove()
>>> l = [(1, 2), (3, 4), (5, 6), (7, 8), (9, 10)]
>>> remove_list = [l[2], l[3]]
>>> remove_list
[(5, 6), (7, 8)]
>>> for r in remove_list:
... l.remove(r)
...
>>> l
[(1, 2), (3, 4), (9, 10)]