n,m=map(int,input().split())
ls=[]
for i in range(n):
o=list(map(int,input().split()))
ls.append(o)
ly=[row.copy() for row in ls] # 1️⃣ 初始化时深拷贝
k=int(input())
lt=[]
for i in range(k):
lt.append(input().split())
for i in range(k):
if "r" in lt[i]:
a=int(lt[i][1])-1
b=int(lt[i][2])-1
ly[a]=ls[b].copy()
ly[b]=ls[a].copy()
elif "c" in lt[i]:
a=int(lt[i][1])-1
b=int(lt[i][2])-1
for q in range(n):
ly[q][a]=ls[q][b]
ly[q][b]=ls[q][a]
ls=[row.copy() for row in ly] # 2️⃣ 每次同步深拷贝
for e in ls:
print(*e)
对于列表中的数进行复制,直接赋值即可实现拷贝,对于一维列表,.copy()即可实现深拷贝,但是对于二维列表而言,必须使用ly=[row.copy() for row in ls]才能实现深拷贝

京公网安备 11010502036488号