我的大学任务。他们让我分析切片操作并解释它。
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
。如果我尝试在我的计算机上重现代码,该程序只会告诉我“语法无效”并指向<>
。
任何人都可以向我解释发生了什么事吗? 谢谢!
答案 0 :(得分:3)
<>
是!=
的已弃用的同义词,已在Python 3中删除。您的课程不应该使用它,但无论如何它们都在使用它,并且您或我们可以做的不多做到这一点。
您可以为课程使用Python 2口译员,也可以将<>
替换为!=
。如果更换操作员,将来需要注意其他Python 2/3不兼容性,并手动处理它们;如果你转换口译员,你将需要管理多个口译员。选择取决于你。
答案 1 :(得分:0)
我对Python没那么多,我不知道你的代码是否应该正确运行,但我在提供的代码片段中看到的模式是:
获取 k'th 行中的所有元素,不包括该行中的 k'th 元素。
请注意,索引是从0开始的。