python 二维数组怎么取第二列(python实现二维数组的对角线遍历)
类别:脚本大全 浏览量:2594
时间:2022-01-19 00:52:04 python 二维数组怎么取第二列
python实现二维数组的对角线遍历本文实例为大家分享了python实现二维数组的对角线遍历,供大家参考,具体内容如下
第一种情况:从左上角出发,右下角结束
要完成的事情,就像下图:
话不多说,直接上python实现代码与结果展示:
|
# 输出遍历的索引与其对应的值 a = [[ 1 , 2 , 3 ], [ 4 , 5 , 6 ], [ 7 , 8 , 9 ]] n = len (a) for i in range (n + n - 1 ): for j in range (i + 1 ): k = i - j if k<n and k> = 0 and j<n: print ( "对应索引:" ,j,k, " 对应值:" ,a[j][k]) |
第二种情况:从右上角出发,左下角结束
情况如下:
原以为这一种的解决方式会和上一种的一样的简单,但是尝试一下失败了,只有一个“曲线救国”的解决办法:依据索引关系输出结果
自己的python实现代码与结果展示:
|
a = [[ 1 , 2 , 3 ], [ 4 , 5 , 6 ], [ 7 , 8 , 9 ]] # 得到下标索引 size = len (a) list_i = [] # 第一索引 list_j = [] # 第二索引正序 l1 = [] # 第二索引逆序 for m in range ( 2 * size - 1 ): for n in range (m + 1 ): k = m - n if k<size and k> = 0 and n<size: list_i.append(n) list_j.append(k) print ( "第一索引i:\n" , list_i) print ( "第二索引j:" ) for i in range ( len (list_j)): a = list_j.pop() l1.append(a) print (l1, "\n" * 2 , "输出结果如下:" ) for i in range ( len (list_i)): print (a[list_i[i]][l1[i]], end = " " ) |
前辈jiaobuchong的python实现代码与结果展示:
|
arr1 = [[ 1 , 2 , 3 , 4 ], [ 5 , 6 , 7 , 8 ], [ 9 , 10 , 11 , 12 ], [ 13 , 14 , 15 , 16 ]] for each_arr in arr1: print (each_arr) tem_arr = [] # 用来记录数组值 rows = len (arr1) cols = len (arr1[ 0 ]) def isvalidindex(x, n): return (x > = 0 and x < n) # 每一行的每个值的数组下标的差都一样, for i in range (cols * 2 - 1 ): # 共输出 cols * 2 - 1 行 diff = cols - i - 1 # 每一行的差 for j in range (cols): # 数组中每一个值的下标范围是0到cols k = j - diff # 通过一个下标值计算另一个下标值 if isvalidindex(k, rows): # 剩下就是判断这些下标值是否满足当前的情况, 这一步不怎么好理解 print (arr1[k][j], ' ' , end = '') print () |
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持开心学习网。
原文链接:https://blog.csdn.net/zzZ_CMing/article/details/81035354
您可能感兴趣
- python连接到本地的mysql数据库(Python实现连接MySql数据库及增删改查操作详解)
- python怎么给rsa加密(Python生成rsa密钥对操作示例)
- python群聊提示(python-itchat 统计微信群、好友数量,及原始消息数据的实例)
- python里range循环(Python for循环与range函数的使用详解)
- python写的工具(python调用虹软2.0第三版的具体使用)
- python常用列表函数和方法(Python enumerate函数功能与用法示例)
- python3常见问题(对Python3使运行暂停的方法详解)
- python列出文件夹下所有文件(python批量修改文件夹及其子文件夹下的文件内容)
- python图形绘制教程(python绘制漏斗图步骤详解)
- python爬虫开源代码(Python实现的文轩网爬虫完整示例)
- python怎么操作mysql(详解Python的数据库操作pymysql)
- python包和模块管理(python的依赖管理的实现)
- python怎么提取微信数据(使用Python+wxpy 找出微信里把你删除的好友实例)
- python里import的是什么(python中import与from方法总结推荐)
- python中list怎么用(详解python中list的使用)
- 在python中导入模块有哪几种方式(Python不同目录间进行模块调用的实现方法)
- 文莱旅游攻略(文莱旅游攻略介绍)
- 马来西亚旅游攻略(马来西亚旅游攻略自由行攻略)
- 缅甸旅游攻略(缅甸旅游攻略必去景点推荐)
- 《庆余年2》新消息,原班人马,肖战特别出演,这才是最好的安排(庆余年2新消息原班人马)
- 宁夏灵武恐龙化石发现始末(宁夏灵武恐龙化石发现始末)
- 到了岁末 临门一脚 节点,天台综合督评会目标直指 全年红(到了岁末临门一脚)
热门推荐
- nginxmac启动脚本(Mac M1 Nginx 配置多站点的实现)
- 不喜欢现在的工作 该怎么办
- css图片设置垂直居中(CSS居中实例之大小不固定的图片居中方法)
- jenkins 构建docker镜像(docker搭建jenkins+maven代码构建部署平台)
- python的4种数字变量(Python将字符串常量转化为变量方法总结)
- SqlServer索引的原理与应用详解(SqlServer索引的原理与应用详解)
- IEnumerable的用法
- tick数据间隔时间为2秒(让你一看就明白的$nextTick讲解)
- nginxlocation匹配参数(nginx location优先级的深入讲解)
- C# this扩展方法
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9