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]

  1. #!/usr/bin/env python
  2. # -*- coding:utf-8 -*-
  3.  
  4. # 算法基础:二维数组转90度
  5.  
  6. a = [col for col in range(4)]
  7. print(a)
  8. print("--------------------")
  9. a = [[col for col in range(4)] for row in range(4)]
  10. print(a)
  11. for li in a : print(li)
  12. print("--------------------")
  13.  
  14. for i, row in enumerate(a):
  15. print(i, row)
  16. for j in range(len(row) - i):
  17. tmp = a[j + i][i]
  18. a[j + i][i] = row[j + i]
  19. a[i][j + i] = tmp
  20. print("*****************")
  21. for r in a:print(r)
  22. print(a)
  23. for rr in a:print(rr)
  24.  
  25. print("=-----------改range开始值----------")
  26. a = [col for col in range(4)]
  27. print(a)
  28. print("--------------------")
  29. a = [[col for col in range(4)] for row in range(4)]
  30. print(a)
  31. for li in a : print(li)
  32. print("--------------------")
  33.  
  34. for i, row in enumerate(a):
  35. print(i, row)
  36. for j in range(i, len(row)): # 改range开始值
  37. print(j)
  38. tmp = a[j][i]
  39. a[j][i] = row[j]
  40. a[i][j] = tmp
  41. print("*****************")
  42. for r in a:print(r)
  43. print(a)
  44. for rr in a:print(rr)

以上代码运行结果:

  1. D:\ProgramData\Anaconda3\python.exe D:/py/day001/day1/test.py
  2. [0, 1, 2, 3]
  3. --------------------
  4. [[0, 1, 2, 3], [0, 1, 2, 3], [0, 1, 2, 3], [0, 1, 2, 3]]
  5. [0, 1, 2, 3]
  6. [0, 1, 2, 3]
  7. [0, 1, 2, 3]
  8. [0, 1, 2, 3]
  9. --------------------
  10. 0 [0, 1, 2, 3]
  11. *****************
  12. [0, 0, 0, 0]
  13. [1, 1, 2, 3]
  14. [2, 1, 2, 3]
  15. [3, 1, 2, 3]
  16. 1 [1, 1, 2, 3]
  17. *****************
  18. [0, 0, 0, 0]
  19. [1, 1, 1, 1]
  20. [2, 2, 2, 3]
  21. [3, 3, 2, 3]
  22. 2 [2, 2, 2, 3]
  23. *****************
  24. [0, 0, 0, 0]
  25. [1, 1, 1, 1]
  26. [2, 2, 2, 2]
  27. [3, 3, 3, 3]
  28. 3 [3, 3, 3, 3]
  29. *****************
  30. [0, 0, 0, 0]
  31. [1, 1, 1, 1]
  32. [2, 2, 2, 2]
  33. [3, 3, 3, 3]
  34. [[0, 0, 0, 0], [1, 1, 1, 1], [2, 2, 2, 2], [3, 3, 3, 3]]
  35. [0, 0, 0, 0]
  36. [1, 1, 1, 1]
  37. [2, 2, 2, 2]
  38. [3, 3, 3, 3]
  39. =-----------改range开始值----------
  40. [0, 1, 2, 3]
  41. --------------------
  42. [[0, 1, 2, 3], [0, 1, 2, 3], [0, 1, 2, 3], [0, 1, 2, 3]]
  43. [0, 1, 2, 3]
  44. [0, 1, 2, 3]
  45. [0, 1, 2, 3]
  46. [0, 1, 2, 3]
  47. --------------------
  48. 0 [0, 1, 2, 3]
  49. 0
  50. 1
  51. 2
  52. 3
  53. *****************
  54. [0, 0, 0, 0]
  55. [1, 1, 2, 3]
  56. [2, 1, 2, 3]
  57. [3, 1, 2, 3]
  58. 1 [1, 1, 2, 3]
  59. 1
  60. 2
  61. 3
  62. *****************
  63. [0, 0, 0, 0]
  64. [1, 1, 1, 1]
  65. [2, 2, 2, 3]
  66. [3, 3, 2, 3]
  67. 2 [2, 2, 2, 3]
  68. 2
  69. 3
  70. *****************
  71. [0, 0, 0, 0]
  72. [1, 1, 1, 1]
  73. [2, 2, 2, 2]
  74. [3, 3, 3, 3]
  75. 3 [3, 3, 3, 3]
  76. 3
  77. *****************
  78. [0, 0, 0, 0]
  79. [1, 1, 1, 1]
  80. [2, 2, 2, 2]
  81. [3, 3, 3, 3]
  82. [[0, 0, 0, 0], [1, 1, 1, 1], [2, 2, 2, 2], [3, 3, 3, 3]]
  83. [0, 0, 0, 0]
  84. [1, 1, 1, 1]
  85. [2, 2, 2, 2]
  86. [3, 3, 3, 3]
  87.  
  88. Process finished with exit code 0

python3--算法基础:二维数组转90度的更多相关文章

  1. python-Day4-迭代器-yield异步处理--装饰器--斐波那契--递归--二分算法--二维数组旋转90度--正则表达式

    本节大纲 迭代器&生成器 装饰器  基本装饰器 多参数装饰器 递归 算法基础:二分查找.二维数组转换 正则表达式 常用模块学习 作业:计算器开发 实现加减乘除及拓号优先级解析 用户输入 1 - ...

  2. LeetCode——Rotate Image(二维数组顺时针旋转90度)

      问题: You are given an n x n 2D matrix representing an image. Rotate the image by 90 degrees (clockw ...

  3. day4 二维数组旋转90度

    二维数组的旋转其实就是数组里面的元素对调的情况:下面有一个4×4的二维数组,[[0, 1, 2, 3], [0, 1, 2, 3], [0, 1, 2, 3], [0, 1, 2, 3]],现在要求把 ...

  4. Python学习笔记 之 递归、二维数组顺时针旋转90°、正则表达式

    递归.二维数组顺时针旋转90°.正则表达式 1.   递归算法是一种直接或间接调用自身算法的过程. 特点: 递归就是在过程或函数里调用自身 明确的递归结束条件,即递归出口 简洁,但是不提倡 递归次数多 ...

  5. 《剑指Offer》算法题——二维数组查找

    题目:在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数. class Solutio ...

  6. 递归分治算法之二维数组二分查找(Java版本)

    [java] /** * 递归分治算法学习之二维二分查找 * @author Sking 问题描述: 存在一个二维数组T[m][n],每一行元素从左到右递增, 每一列元素从上到下递增,现在需要查找元素 ...

  7. 【2048小游戏】——原生js爬坑之遍历算法显示二维数组内容

    引言:做2048小游戏会将横纵方向的数字内容,存储在一个二维数组中,要将这个二维数组中的内容显示在页面上,就一定要用遍历算法来实现了. 一.二维数组存储    首先考虑用二维数组存储所有行数,列数   ...

  8. C语言基础--二维数组

    二维数组概念: 数组中的每一个元素又是一个数组, 那么这个数组就称之为二维数组,二维数组是特殊的一维数组. 二维数组格式: 元素类型 数组名称[一维数组的个数][每个一维数组的元素个数]; 元素类型 ...

  9. Java基础--二维数组

    1.二维数组的定义 二维数组表示行列二维结构,在栈空间中的二维数组的地址指向堆空间中的一维数组,堆空间中的一维数组的地址又指向一维数组所在的内存空间. 2.二维数组的声明 二维数组声明有3种方式,推荐 ...

随机推荐

  1. C# 对象复制

    /// <summary> /// 把DataTable对象转成List<T>对象 /// </summary> /// <typeparam name=&q ...

  2. linux/centos系统如何使用yum安装vi/vim?

    yum安装vim最简单的命令, yum -y install vim* 然后就可以使用vi命令了. 网上的文章: 要使用vim, 使用yum看了一下,发现有4个 vim-common.i386     ...

  3. oracle 数据导入、导出

    导入导出 --数据导出备份和导入 ------注意 导出和导入 必须是CMD 命令行下操作,而不是SQL编辑器中 --1.导出表 . --exp:导出关键字 ,userid:用户权限 ,file:保存 ...

  4. Windows Server 启用匿名共享

    1.开始 → 运行 → gpedit.msc,打开组策略编辑器: 2.依次展开"计算机配置" → "windows设置" → "安全设置"  ...

  5. gym 100947I (求因子)

    What a Mess Alex is a very clever boy, after all he is the son of the greatest watchmaker in Odin. O ...

  6. 【整理】解决vue不相关组件之间的数据传递----vuex的学习笔记,解决报错this.$store.commit is not a function

    解决vue不相关组件之间的数据传递----vuex的学习笔记,解决报错this.$store.commit is not a function https://www.cnblogs.com/jaso ...

  7. GetForgroundWindow函数的不确定性——BUG笔记

    HWND GetForgoundWindows() 获取当前前置窗口在windows 7和windows 10下虚拟桌面切换后表现不同. 所以强烈不建议使用此函数!

  8. Spring JDBC 例子

    http://www.yiibai.com/spring/spring_jdbc_example.html 要了解有关Spring JDBC框架与JdbcTemplate类的概念,让我们写这将实现所有 ...

  9. QT+信号有参数与无参数的实现+QT4和QT5在信号和槽使用上的区别

    在QT5中,信号有参数和无参数 #ifndef SUBWIDGET_H #define SUBWIDGET_H #include <QWidget> #include <QPushB ...

  10. Python 面向对象 特殊方法(魔法方法)

    Python 的特殊方法,两边带双下划线的方法. 比如:__init__(self, ...).__del__(self) 1.__init__(self,...) : 构造方法 __init__(s ...