我有大学的作业。他们让我分析切片操作并解释它
A = array([[1,2,3],[4,5,6],[7,8,9]])
A[0,arrange(3)<>0]
A[1,arrange(3)<>1]
A[2,arrange(3)<>2]
分析操作如下:A[k, arange(n)<>k]
,其中A是一个n x n矩阵。
按照我的理解,第一个k决定了矩阵的行。现在我知道arange(n)
创建了一个包含n个数字的数组。我不明白的是命令arange(n)<>k
。如果我试图在我的计算机上重现代码,程序只会"告诉"我"无效语法"并指向<>
。
有人能向我解释一下发生了什么事吗
非常感谢。
<>
是!=
的同义词,已在Python 3中删除。你的课程不应该使用它,但他们无论如何都在做,你或我们对此无能为力。
您可以在课程中使用Python 2解释器,也可以将<>
替换为!=
。如果您更换了操作符,您将需要注意未来其他Python 2/3不兼容的地方,并手动处理它们;如果你更换口译员,你将不得不管理多个口译员。选择权在你。
我不太喜欢Python,也不知道你的代码是否应该正确运行,但我在提供的代码片段中看到的模式是:
从k行获取所有元素,不包括该行的k元素。
请注意,索引是从0开始枚举的。