在2D数组中移动行

问题描述 投票:-1回答:2

我目前有这样的2D阵列

array = [ [a1, a2, a3, a4],
          [b1, b2, b3, b4],
          [c1, c2, c3, c4],
          [d1, d2, d3, d4],
        ]

我想要做的是将数组更改为:

array = [ [b1, b2, b3, b4],
          [c1, c2, c3, c4],
          [d1, d2, d3, d4],
          [a1, a2, a3, a4],
        ]

我最好喜欢一种方法,我可以将'a'行保存到变量并从2d数组中删除它,然后将其添加回到最后。谢谢你的帮助。

python arrays python-3.x multidimensional-array 2d
2个回答
1
投票

您可以编写一个将行从一个位置移动到另一个位置的函数。如下:

def move(matrix, src, dst):
    tmp = matrix[src]
    del matrix[src]
    matrix.insert(dst, tmp)

然后你必须用src(源索引)和dst(目标索引)用适当的值来调用它。

例如:

matrix = [
    [ 1, 2, 3 ],
    [ 4, 5, 6 ],
    [ 7, 8, 9 ],
]

move(matrix, 1, 0)

# Now matrix is:
# [
#    [ 4, 5, 6 ],
#    [ 1, 2, 3 ],
#    [ 7, 8, 9 ],
# ]

0
投票
def alter(array,removeRow,addRow):
    temp = array[removeRow]
    del array[removeRow]
    array.insert(addRow,temp)
© www.soinside.com 2019 - 2024. All rights reserved.