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获取特定时间日期的数据(Python提取特定时间段内数据的方法实例)
- python爬取豆瓣评分排行榜(Python爬虫——爬取豆瓣电影Top250代码实例)
- python钉钉机器人(python钉钉机器人运维脚本监控实例)
- python抓取天气数据(Python实战之制作天气查询软件)
- python3爬虫代码(Python3爬楼梯算法示例)
- python基础知识重点(python语言元素知识点详解)
- python经典算法(浅谈python常用程序算法)
- python函数基本使用(Python3中exp函数用法分析)
- python群聊提示(python-itchat 统计微信群、好友数量,及原始消息数据的实例)
- python3.7保存文件(详解用python实现基本的学生管理系统文件存储版python3)
- python time模块记录时间(Python Datetime模块和Calendar模块用法实例分析)
- python爬虫音乐代码(详解python selenium 爬取网易云音乐歌单名)
- python列表怎么赋值(详解Python列表赋值复制深拷贝及5种浅拷贝)
- 2021-10-23 10:04:24
- python语言的读取图像(详解python读取image)
- python如何一行行读取文件(python 实现一次性在文件中写入多行的方法)
- 常见的喜阴植物有哪些 养室内盆栽就在这里选(常见的喜阴植物有哪些)
- 这8种耐阴植物,营造阴生植物花境,也是一个不错的选择(营造阴生植物花境)
- 览邦G08 Plus SMART WATCH 测评⑱ 全独立这才是智能手表该有的样子(览邦G08PlusSMART)
- 荣耀手表 GS 3 真机亮相 不支持无线充电(荣耀手表GS3)
- 通过体温就能为智能手表充电 原来是用NASA在空间站用的黑科技(通过体温就能为智能手表充电)
- 智能手表兼容Windows和Android 无需充电挑战苹果(智能手表兼容Windows和Android)
热门推荐
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9