我有matrix = [[1,2,3],[4,5,6],[7,8,9]]matrix2=matrix。现在我想从矩阵2中删除第一行,即matrix2.remove(matrix[0])
但我明白了

>>> matrix2.remove(matrix2[0])
>>> matrix2
    [[4, 5, 6], [7, 8, 9]]
>>> matrix
    [[4, 5, 6], [7, 8, 9]]

第一行matrix也被删除。有人能解释一下吗?以及如何从matrix2中删除第一行而不更改matrix

最佳答案

尝试:

>>> matrix = [[1,2,3],[4,5,6],[7,8,9]]
>>>
>>> # make matrix2 a (shallow) copy of matrix
>>> matrix2 = matrix[:]
>>> matrix2.remove(matrix[0])
>>> print(matrix2)
[[4, 5, 6], [7, 8, 9]]

隐马尔可夫模型。。。为什么?这是因为语句matrix2 = matrix没有“复制”一个值。。。它仅仅意味着名称matrix2指向与名称matrix完全相同的值。
要实际创建列表的(浅层)副本,我们可以将其切片为matrix2 = matrix[:]。这将创建一个名称matrix2指向包含名称matrix的所有值的新列表

关于python - 从Python中的矩阵中删除行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35428994/

10-12 18:13