python3矩阵移动问题

a是一个矩阵,思路:先用input获取要移动哪一列的第几行到第几行移动到第几行的数字保存到列表里,保存之后将这些数字原来的位置变成0,再让数字移动到另一行的数字下面向蜘蛛纸牌一样,按顺序从上往下排序。思路有了但是实践起来不知道怎么写,求帮助,不用列表的思路也行,可以移动就可以。有点难,只说思路和关键代码也行


def pinyi(l, n, k, x):
    count = 1
    for i in range(0, n, 2):
        for j in range(count):
            l[i].insert(0, x)
            l[i].pop()
        count = count % k + 1
    return l
 
 
n, k, x = map(int, input().split())
l = []
l2 = []
 
for i in range(n):
    l.append(input().split())
l1 = pinyi(l, n, k, x)
for i in range(n):
    sum1 = 0
    for j in l1:
        sum1 += int(j[i])
    l2.append(str(sum1))
print(' '.join(l2))