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怎么用pandas读取两列数据(python 利用pandas将arff文件转csv文件的方法)
- python 文本文件读取方法(Python逐行读取文件中内容的简单方法)
- python中jieba库怎么用(详解Python数据可视化编程 - 词云生成并保存jieba+WordCloud)
- python的基础数据结构有哪些(详解python的四种内置数据结构)
- python符串操作教程(Python3.5运算符操作实例详解)
- python类中的数据封装(基于python生成器封装的协程类)
- python 正则表达式在代码里的使用(python中正则表达式与模式匹配)
- python 读文件报错处理(解决python写入带有中文的字符到文件错误的问题)
- python做学生成绩系统(python学生管理系统)
- pythonbug生成图片(python实现海螺图片的方法示例)
- python快速数据分类(Python基于滑动平均思想实现缺失数据填充的方法)
- pythonselenium自动化教程(python使用selenium实现批量文件下载)
- 浅谈Python3中strip()、lstrip()、rstrip()用法详解(浅谈Python3中strip、lstrip、rstrip用法详解)
- 如何用python创建单链表(Python3实现的反转单链表算法示例)
- python连接到本地的mysql数据库(Python实现连接MySql数据库及增删改查操作详解)
- python爬虫出租屋(python爬虫租房信息在地图上显示的方法)
- 《白狐的人生》热拍 贾征宇偶像包袱难自弃 图(白狐的人生热拍)
- 七夕取消了,牛郎织女没做核酸七夕已经取消(牛郎织女没做核酸七夕已经取消)
- 网友抵制 多地取消 夏日祭 为何惹众怒(网友抵制多地取消)
- 兄弟萌,今年的七夕又取消了 思考 思考(今年的七夕又取消了)
- 七夕取消是什么梗(七夕取消是什么梗)
- 这竟然是捏出来的 20种橡皮泥玩法让你轻松hold住魔娃(这竟然是捏出来的)
热门推荐
- 云主机免费体验(免费云主机试用一年靠谱吗)
- mysqljoin默认是什么(mysql-joins具体用法说明)
- css3特效旋转菜单(CSS3实现的水平标题菜单)
- css的border怎么设置三角形(CSS border虚线边框属性教程)
- dedecms添加代码(dedecms获取当前所在栏目ID的方法)
- phplaravel怎么优化(laravel执行php artisan migrate报错的解决方法)
- sql语句中的join(SQL语句中不同的连接JOIN及join的用法)
- h5移动端开发app(移动端H5唤起APP的写法实例IOS、android)
- sql server新建用户无法登录(sqlserver 因为选定的用户拥有对象,所以无法除去该用户的解决方法)
- 使用Visual Studio对项目进行远程调试
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9