Python之2维list转置、旋转及其简单应用

 给一个矩阵,顺时针旋转顺序输出其元素,例如:

对于矩阵:

[ 1, 2, 3 ]

[ 4, 5, 6 ]

[ 7, 8, 9 ]

 输出为:

1,2,3,6,9,8,7,4,5

 

复制代码
def transpose(matrix):
    return zip(*matrix)

def rotate(matrix):
    return zip(*matrix)[::-1]

def rotatePrint(matrix):
    import copy
    matrix = copy.deepcopy(matrix)
    return matrix and list(matrix.pop(0)) + rotatePrint(rotate(matrix))


######### Test #############

def printMatrix(matrix):
    for row in  matrix:
        print ' '.join( str(i) for i in row)

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

print 'original:'
printMatrix(matrix)

print 'rotate print:',rotatePrint(matrix)

print 'transpose:'
printMatrix( transpose(matrix) )

print 'rotate:'
printMatrix(  rotate(matrix))
复制代码

输出为:

 

posted @   Shiyu_Huang  阅读(17392)  评论(0编辑  收藏  举报
编辑推荐:
· 如果单表数据量大,只能考虑分库分表吗?
· 一文彻底搞懂 MCP:AI 大模型的标准化工具箱
· 电商平台中订单未支付过期如何实现自动关单?
· 用 .NET NativeAOT 构建完全 distroless 的静态链接应用
· 为什么构造函数需要尽可能的简单
阅读排行:
· 短信接口被刷爆:我用Nginx临时止血
· .NET 平台上的开源模型训练与推理进展
· Google发布A2A开源协议:“MCP+A2A”成未来标配?
· C# 多项目打包时如何将项目引用转为包依赖
· 一款让 Everything 更加如虎添翼的 .NET 开源辅助工具!
历史上的今天:
2016-11-15 MacOS显示和不显示隐藏文件
点击右上角即可分享
微信分享提示