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:\ProgramData\Anaconda3\python.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
python3--算法基础:二维数组转90度的更多相关文章
- python-Day4-迭代器-yield异步处理--装饰器--斐波那契--递归--二分算法--二维数组旋转90度--正则表达式
本节大纲 迭代器&生成器 装饰器 基本装饰器 多参数装饰器 递归 算法基础:二分查找.二维数组转换 正则表达式 常用模块学习 作业:计算器开发 实现加减乘除及拓号优先级解析 用户输入 1 - ...
- LeetCode——Rotate Image(二维数组顺时针旋转90度)
问题: You are given an n x n 2D matrix representing an image. Rotate the image by 90 degrees (clockw ...
- day4 二维数组旋转90度
二维数组的旋转其实就是数组里面的元素对调的情况:下面有一个4×4的二维数组,[[0, 1, 2, 3], [0, 1, 2, 3], [0, 1, 2, 3], [0, 1, 2, 3]],现在要求把 ...
- Python学习笔记 之 递归、二维数组顺时针旋转90°、正则表达式
递归.二维数组顺时针旋转90°.正则表达式 1. 递归算法是一种直接或间接调用自身算法的过程. 特点: 递归就是在过程或函数里调用自身 明确的递归结束条件,即递归出口 简洁,但是不提倡 递归次数多 ...
- 《剑指Offer》算法题——二维数组查找
题目:在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数. class Solutio ...
- 递归分治算法之二维数组二分查找(Java版本)
[java] /** * 递归分治算法学习之二维二分查找 * @author Sking 问题描述: 存在一个二维数组T[m][n],每一行元素从左到右递增, 每一列元素从上到下递增,现在需要查找元素 ...
- 【2048小游戏】——原生js爬坑之遍历算法显示二维数组内容
引言:做2048小游戏会将横纵方向的数字内容,存储在一个二维数组中,要将这个二维数组中的内容显示在页面上,就一定要用遍历算法来实现了. 一.二维数组存储 首先考虑用二维数组存储所有行数,列数 ...
- C语言基础--二维数组
二维数组概念: 数组中的每一个元素又是一个数组, 那么这个数组就称之为二维数组,二维数组是特殊的一维数组. 二维数组格式: 元素类型 数组名称[一维数组的个数][每个一维数组的元素个数]; 元素类型 ...
- Java基础--二维数组
1.二维数组的定义 二维数组表示行列二维结构,在栈空间中的二维数组的地址指向堆空间中的一维数组,堆空间中的一维数组的地址又指向一维数组所在的内存空间. 2.二维数组的声明 二维数组声明有3种方式,推荐 ...
随机推荐
- C# 对象复制
/// <summary> /// 把DataTable对象转成List<T>对象 /// </summary> /// <typeparam name=&q ...
- linux/centos系统如何使用yum安装vi/vim?
yum安装vim最简单的命令, yum -y install vim* 然后就可以使用vi命令了. 网上的文章: 要使用vim, 使用yum看了一下,发现有4个 vim-common.i386 ...
- oracle 数据导入、导出
导入导出 --数据导出备份和导入 ------注意 导出和导入 必须是CMD 命令行下操作,而不是SQL编辑器中 --1.导出表 . --exp:导出关键字 ,userid:用户权限 ,file:保存 ...
- Windows Server 启用匿名共享
1.开始 → 运行 → gpedit.msc,打开组策略编辑器: 2.依次展开"计算机配置" → "windows设置" → "安全设置" ...
- gym 100947I (求因子)
What a Mess Alex is a very clever boy, after all he is the son of the greatest watchmaker in Odin. O ...
- 【整理】解决vue不相关组件之间的数据传递----vuex的学习笔记,解决报错this.$store.commit is not a function
解决vue不相关组件之间的数据传递----vuex的学习笔记,解决报错this.$store.commit is not a function https://www.cnblogs.com/jaso ...
- GetForgroundWindow函数的不确定性——BUG笔记
HWND GetForgoundWindows() 获取当前前置窗口在windows 7和windows 10下虚拟桌面切换后表现不同. 所以强烈不建议使用此函数!
- Spring JDBC 例子
http://www.yiibai.com/spring/spring_jdbc_example.html 要了解有关Spring JDBC框架与JdbcTemplate类的概念,让我们写这将实现所有 ...
- QT+信号有参数与无参数的实现+QT4和QT5在信号和槽使用上的区别
在QT5中,信号有参数和无参数 #ifndef SUBWIDGET_H #define SUBWIDGET_H #include <QWidget> #include <QPushB ...
- Python 面向对象 特殊方法(魔法方法)
Python 的特殊方法,两边带双下划线的方法. 比如:__init__(self, ...).__del__(self) 1.__init__(self,...) : 构造方法 __init__(s ...