算法优化:python转置方阵的打印

Python 方阵转置及算法优化
博客主要围绕方阵转置展开,涉及 Python 语言实现,还包含运行结果展示以及案例变形。重点在于利用 Python 进行方阵转置操作,并可能涉及相关算法优化。

转置方阵:

n = 9
lst1 = []
lst2 = list(range(1,n+1))

width = int(n**0.5)
for i in range(0,len(lst2),width):
    lst1.append(lst2[i:i+width])
else:
    print(lst1)
    for i in range(width):
        print(lst1[i])
    
for x in range(len(lst1)):
    if x == x * (width+1):
        continue
    else:
        for j in range(x):
            lst1[x][j],lst1[j][x] = lst1[j][x],lst1[x][j]
else:
    print('------------------------')
    print(lst1)
    for i in range(width):
        print(lst1[i])

运行结果:

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

案例变形:

n = 9
lst1 = []
lst2 = list(range(1,n+1))

width = int(n**0.5)
for i in range(0,len(lst2),width):
    lst1.append(lst2[i:i+width])
else:
    print(lst1)
    for i in range(width):
        print(lst1[i])
    
for x,row1 in enumerate(lst1):
    for y,row2 in enumerate(row1):
        if x < y:
            lst1[x][y],lst1[y][x] = lst1[y][x],lst1[x][y]
else:
    print('----------------------------------')
    print(lst1)
    for i in range(width):
        print(lst1[i])

运行结果:

[[1, 2, 3], [4, 5, 6], [7, 8, 9]]
[1, 2, 3]
[4, 5, 6]
[7, 8, 9]
------------------------
[[1, 4, 7], [2, 5, 8], [3, 6, 9]]
[1, 4, 7]
[2, 5, 8]
[3, 6, 9]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值