zoukankan      html  css  js  c++  java
  • python3--算法基础:二维数组转90度

    python3--算法基础:二维数组转90度

    [0, 1, 2, 3]
    [0, 1, 2, 3]
    [0, 1, 2, 3]
    [0, 1, 2, 3]

    二维数组转90度

    [0, 0, 0, 0]
    [1, 1, 1, 1]
    [2, 2, 2, 2]
    [3, 3, 3, 3]

    #!/usr/bin/env python
    # -*- coding:utf-8 -*-
    
    # 算法基础:二维数组转90度
    
    a = [col for col in range(4)]
    print(a)
    print("--------------------")
    a = [[col for col in range(4)] for row in range(4)]
    print(a)
    for li in a : print(li)
    print("--------------------")
    
    for i, row in  enumerate(a):
        print(i, row)
        for j in range(len(row) - i):
            tmp = a[j + i][i]
            a[j + i][i] = row[j + i]
            a[i][j + i] = tmp
        print("*****************")
        for r in a:print(r)
    print(a)
    for rr in a:print(rr)
    
    print("=-----------改range开始值----------")
    a = [col for col in range(4)]
    print(a)
    print("--------------------")
    a = [[col for col in range(4)] for row in range(4)]
    print(a)
    for li in a : print(li)
    print("--------------------")
    
    for i, row in  enumerate(a):
        print(i, row)
        for j in range(i, len(row)):    # 改range开始值
            print(j)
            tmp = a[j][i]
            a[j][i] = row[j]
            a[i][j] = tmp
        print("*****************")
        for r in a:print(r)
    print(a)
    for rr in a:print(rr)
    

    以上代码运行结果:

    D:ProgramDataAnaconda3python.exe D:/py/day001/day1/test.py
    [0, 1, 2, 3]
    --------------------
    [[0, 1, 2, 3], [0, 1, 2, 3], [0, 1, 2, 3], [0, 1, 2, 3]]
    [0, 1, 2, 3]
    [0, 1, 2, 3]
    [0, 1, 2, 3]
    [0, 1, 2, 3]
    --------------------
    0 [0, 1, 2, 3]
    *****************
    [0, 0, 0, 0]
    [1, 1, 2, 3]
    [2, 1, 2, 3]
    [3, 1, 2, 3]
    1 [1, 1, 2, 3]
    *****************
    [0, 0, 0, 0]
    [1, 1, 1, 1]
    [2, 2, 2, 3]
    [3, 3, 2, 3]
    2 [2, 2, 2, 3]
    *****************
    [0, 0, 0, 0]
    [1, 1, 1, 1]
    [2, 2, 2, 2]
    [3, 3, 3, 3]
    3 [3, 3, 3, 3]
    *****************
    [0, 0, 0, 0]
    [1, 1, 1, 1]
    [2, 2, 2, 2]
    [3, 3, 3, 3]
    [[0, 0, 0, 0], [1, 1, 1, 1], [2, 2, 2, 2], [3, 3, 3, 3]]
    [0, 0, 0, 0]
    [1, 1, 1, 1]
    [2, 2, 2, 2]
    [3, 3, 3, 3]
    =-----------改range开始值----------
    [0, 1, 2, 3]
    --------------------
    [[0, 1, 2, 3], [0, 1, 2, 3], [0, 1, 2, 3], [0, 1, 2, 3]]
    [0, 1, 2, 3]
    [0, 1, 2, 3]
    [0, 1, 2, 3]
    [0, 1, 2, 3]
    --------------------
    0 [0, 1, 2, 3]
    0
    1
    2
    3
    *****************
    [0, 0, 0, 0]
    [1, 1, 2, 3]
    [2, 1, 2, 3]
    [3, 1, 2, 3]
    1 [1, 1, 2, 3]
    1
    2
    3
    *****************
    [0, 0, 0, 0]
    [1, 1, 1, 1]
    [2, 2, 2, 3]
    [3, 3, 2, 3]
    2 [2, 2, 2, 3]
    2
    3
    *****************
    [0, 0, 0, 0]
    [1, 1, 1, 1]
    [2, 2, 2, 2]
    [3, 3, 3, 3]
    3 [3, 3, 3, 3]
    3
    *****************
    [0, 0, 0, 0]
    [1, 1, 1, 1]
    [2, 2, 2, 2]
    [3, 3, 3, 3]
    [[0, 0, 0, 0], [1, 1, 1, 1], [2, 2, 2, 2], [3, 3, 3, 3]]
    [0, 0, 0, 0]
    [1, 1, 1, 1]
    [2, 2, 2, 2]
    [3, 3, 3, 3]
    
    Process finished with exit code 0
    
  • 相关阅读:
    Windows平台下Glade+GTK开发环境的搭建
    uCOSII移植STM32F10x_Keil
    C语言中的内存管理与双向链表
    Windows平台下Glade+GTK实现多线程界面的探讨
    C语言中可变形参个数的函数实现
    从STM32的位带操作重谈嵌入式中寻址与对齐的理解
    uCOSII的中断ARM7实现中断嵌套的方法探究
    uCOSII中的内存管理C语言构建完整的微型动态内存管理机制
    uCOSII中的任务切换图解多种任务调度时机与问题
    uCOSII中的任务切换机制
  • 原文地址:https://www.cnblogs.com/chenlin163/p/7285551.html
Copyright © 2011-2022 走看看