【问题标题】:Python: insert value to matrix [closed]Python:向矩阵插入值[关闭]
【发布时间】:2017-11-15 11:41:35
【问题描述】:

我在 python 中简单插入矩阵时遇到问题:(我不是很有 python 经验)

matrix = numpy.zeros(shape=(len(10), len(10)), dtype=int)

现在我想在矩阵索引中插入特定的值,例如在第 1 行第 1 列。

我该怎么做?我已经在https://docs.scipy.org/doc/numpy 上,但是使用插入方法它不起作用。

我只想要一个简单的样式,例如:matrix[1][1] = 17

它必须是那种风格的矩阵,因为插入后我必须进行奇异值分解。

【问题讨论】:

  • len(10) 抛出 TypeError
  • 我想你想要的是matrix = numpy.zeros(shape=(10, 10), dtype=int) 不需要做len(),这会返回一些对象的长度,比如列表。
  • 哦,是的,谢谢...原来是matrix = numpy.zeros(shape=(len(myList), len(myOtherList)), dtype=int)
  • matrix[1][1] = 17 有什么问题?但请注意,Python 的第一行索引为零,列将是 matrix[0][0]

标签: python matrix insertion


【解决方案1】:

您在 np.zeros 构造函数中的语法不正确。

它应该是这样的:

matrix = numpy.zeros(shape=(10, 10), dtype=int)

然后您可以使用普通数组语法设置一个值:

matrix[1,4] = 10
print matrix

[[ 0  0  0  0  0  0  0  0  0  0]
 [ 0  0  0  0 10  0  0  0  0  0]
 [ 0  0  0  0  0  0  0  0  0  0]
 [ 0  0  0  0  0  0  0  0  0  0]
 [ 0  0  0  0  0  0  0  0  0  0]
 [ 0  0  0  0  0  0  0  0  0  0]
 [ 0  0  0  0  0  0  0  0  0  0]
 [ 0  0  0  0  0  0  0  0  0  0]
 [ 0  0  0  0  0  0  0  0  0  0]
 [ 0  0  0  0  0  0  0  0  0  0]]

附:正如其他人所提到的,Python 从零开始引用它的索引,而不是从一开始。因此,要设置第 4 行第 5 列,数组索引将为 matrix[3,4]。

【讨论】:

  • 我不敢相信......这行得通......我已经尝试过几次,编译器总是向我显示一个错误,比如“没有函数分配”或类似的东西。我对此感到非常困惑......但现在它可以工作了......谢谢大家! :-)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-05-10
  • 2021-11-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多