【问题标题】:How do i array[n][i] = 0 as an append in pythoni array[n][i] = 0 如何作为python中的追加
【发布时间】:2012-10-20 13:00:57
【问题描述】:

我有以下代码:

for i in range(w[n], W):
    array[n][i] = v[n]

在 python 中,这给出了一个超出索引的错误,因为我没有使用 append...为了在 python 中工作,我将如何纠正上述内容???

所有帮助将不胜感激!谢谢!

【问题讨论】:

  • 您的阵列在哪里? v[n], w[n]?这么多信息还不够。
  • 你在使用 NumPy 的二维数组吗?
  • 甚至不用担心这实际上只是一个语法问题,因为我想要一个像这样想的二维数组:for i in range(0, 10): knap_sac[n] [i] = 0

标签: python multidimensional-array python-3.x append insert-into


【解决方案1】:

首先,您不应该将名称“array”用于数组。尽管它不是 python 中的保留名称,但它被认为是不好的编程习惯。一种做你想做的事情的方法是这样的:

myArr = [[0 for col in range(n)] for row in range(W)]
for i in range(w[n], W):
            myArr[n][i] = v[n]

第一行创建了一个由 [n][W] 个元素组成的数组,初始化为 0。这是在 python 中实现这一点的最简单方法,无需添加额外的依赖项。

【讨论】:

  • 不,array 不是 Python 的保留字,至少在 2.7 或 3.3 中不是。
  • 我同意,但主要是因为array 没有描述其真正目的。
  • 谢谢,我认为它已修复...我得到另一个错误而不是列表索引超出范围现在我得到的列表分配超出范围,我认为这与其他 v[] 数组有关...
猜你喜欢
  • 2011-07-27
  • 1970-01-01
  • 2013-04-24
  • 2022-01-13
  • 1970-01-01
  • 2015-12-21
  • 1970-01-01
  • 2020-12-28
  • 1970-01-01
相关资源
最近更新 更多