鱼C论坛

 找回密码
 立即注册
查看: 587|回复: 6

求教一个关于数列的问题

[复制链接]
发表于 2018-1-19 16:35:01 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 天圆突破 于 2018-1-19 16:41 编辑
  1. list1 = [[None]*3]*3
  2. for i in range(3):
  3.     for j in range(3):
  4.         while True:
  5.             a = input('请输入第一个矩阵的第%d行第%d列的数字:'%(i+1,j+1))
  6.             try:
  7.                 a = int(a)
  8.                 break
  9.             except:
  10.                 try:
  11.                     a = float(a)
  12.                     break
  13.                 except:
  14.                     print('输入错误,请重新输入')
  15.         list1[i][j] = a
  16.         print(list1)
  17. print('第一个矩阵输入完成,该矩阵为:')
  18. print(list1)
复制代码

生产矩阵1.png
这样生成的列表为啥有问题?

  1. list1 = [[0,0,0],[0,0,0],[0,0,0]]
  2. for i in range(3):
  3.     for j in range(3):
  4.         while True:
  5.             a = input('请输入第一个矩阵的第%d行第%d列的数字:'%(i+1,j+1))
  6.             try:
  7.                 a = int(a)
  8.                 break
  9.             except:
  10.                 try:
  11.                     a = float(a)
  12.                     break
  13.                 except:
  14.                     print('输入错误,请重新输入')
  15.         list1[i][j] = a
  16.         print(list1)
  17. print('第一个矩阵输入完成,该矩阵为:')
  18. print(list1)
复制代码

矩阵2.png
这样就没问题?
list1 = [[None]*3]*3
这样不能用来快速生成3x3的空矩阵列表?那有什么办法能这样快速生成矩阵列表?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-1-19 16:39:39 | 显示全部楼层
本帖最后由 sky 于 2018-1-19 16:41 编辑

矩阵的 学numpy吧 python列表不行的
列表是容器对象 用*操作符生成的是同一个容器对象的多个引用
就是你修改其中一个 其他几个也变了 所以是不行的
去学numpy
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-1-19 16:47:10 | 显示全部楼层
理科生必备
numpy模块
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-1-19 16:48:12 | 显示全部楼层
不要用[[None]*3]*3来赋值,这样[None, None, None]中每个None的地址都是相同的,[[None, None, None], [None, None, None], [None, None, None]]中每个[None, None, None]地址也是相同的,所以你改变一个其他的也跟着改变,可以这样做:
list1 = [[None for i in range(3)] for j in range(3)]
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-1-19 16:54:43 | 显示全部楼层
冬雪雪冬 发表于 2018-1-19 16:48
不要用[[None]*3]*3来赋值,这样[None, None, None]中每个None的地址都是相同的,[[None, None, None], [No ...

感谢大佬指点。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-1-19 16:55:15 | 显示全部楼层
BngThea 发表于 2018-1-19 16:47
理科生必备
numpy模块


请问大佬numpy模块是标准自带的还是需要pip下载呢?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-1-19 16:57:45 | 显示全部楼层
天圆突破 发表于 2018-1-19 16:55
请问大佬numpy模块是标准自带的还是需要pip下载呢?

需要下载,其实我更推荐你直接安装matplotlab
因为会顺便把常用的数学模块都安装
3.6.3及以上版本直接在cmd中pip即可
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-25 20:10

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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