鱼C论坛

 找回密码
 立即注册
查看: 1149|回复: 4

新手,想了好久都不会

[复制链接]
发表于 2021-7-27 18:54:36 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
matrix = [[1,2,3],
              [4,5,6],
              [7,8,9]]


如何用列表输出3,5,7这一条对角线
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-7-27 19:06:53 | 显示全部楼层
  1. result = sorted([v[n] for n, v in enumerate(matrix[::-1])])
  2. print(result)
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-7-27 19:15:49 | 显示全部楼层
  1. matrix = [[1,2,3],
  2.           [4,5,6],
  3.           [7,8,9]]


  4. result = [matrix[i][2-i] for i in range(3)]
  5. print(result)
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-7-27 20:14:45 | 显示全部楼层
其实,对于新手,最好不要"想太久",
—— 10~30分钟还没思路的或连连受挫,赶紧找答案,找人问。。
—— 或先停下了,是不是脑子不清楚,身体状态不佳,如实在太累了,还想"死磕"?。。

思路:从 特例 → 一般(观察规律)→ 验证
  1. >>> matrix = [[1,2,3],
  2.               [4,5,6],
  3.               [7,8,9]]
  4. >>> matrix
  5. [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
  6. >>> [matrix[0][-1], matrix[1][-2], matrix[2][-3]]   # 特例("硬代码")
  7. [3, 5, 7]
  8. # 特殊:第一层的index 从0开始往右走(0, 1, 2),第二层的 从右往左 走(-1, -2, -3)。。
  9. # 一般(规律):它两 加起来,始终等于 -1 啊

  10. # 验证:
  11. >>> for i in range(len(matrix)):
  12.         print(matrix[i][-1-i], end=' ')

  13. 3 5 7

  14. # 对了!

  15. # 转为列表,这里直接用列表推导式了。若不会,可用常规的循环和list.append()
  16. >>> [matrix[i][-1-i] for i in range(len(matrix))]
  17. [3, 5, 7]
  18. >>>
复制代码




想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-7-28 10:46:40 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-5-13 12:44

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表