Python 3.x 努比听不懂

Python 3.x 努比听不懂,python-3.x,numpy,Python 3.x,Numpy,下面是我的代码 x = np.ones((3, 3)) print(x) # [[1. 1. 1.] # [1. 1. 1.] # [1. 1. 1.]] print(x[:, [0, 1, 2, 2]]) # [[1. 1. 1. 1.] # [1. 1. 1. 1.] # [1. 1. 1. 1.]] 我无法理解在第二份打印声明中做了什么。请解释一下 In [791]: x = np.arange(9).reshape(3,3) In [792]: x Out[792]: ar

下面是我的代码

x = np.ones((3, 3))
print(x)
# [[1. 1. 1.]
#  [1. 1. 1.]
#  [1. 1. 1.]]

print(x[:, [0, 1, 2, 2]])
# [[1. 1. 1. 1.]
#  [1. 1. 1. 1.]
#  [1. 1. 1. 1.]]
我无法理解在第二份打印声明中做了什么。请解释一下

In [791]: x = np.arange(9).reshape(3,3)
In [792]: x
Out[792]: 
array([[0, 1, 2],
       [3, 4, 5],
       [6, 7, 8]])
In [793]: x[:,[0,1,2,2]]
Out[793]: 
array([[0, 1, 2, 2],
       [3, 4, 5, 5],
       [6, 7, 8, 8]])

新数组具有列0和1的副本,以及列2的副本。

您使用列表作为列索引,因此您将沿着x轴再次检索列0、1、2和2。冒号表示整列/每行的y轴。用x=numpy.arrange9.reforme3,3试试看发生了什么事。@Benjamin为什么不把你的评论作为答案发表出来。从x开始,用各种各样的值。它应该能帮助你看到一个模式。@LakshayGarg:因为我投票决定关闭。。。还是想在正确的方向上推动一下。