【问题标题】:list comprehension working like tuples列表理解像元组一样工作
【发布时间】:2017-10-02 23:24:54
【问题描述】:

我正在创建一个简单的计算程序 但是我不能做数组计算,我的语法有什么愚蠢的错误吗?

错误:

TypeError: 'tuple' 对象不支持项目分配

上线:

A[j][k]-=(A[i][k]*A[j][k])/A[i][i]

这段代码:

A = [[0 for x in range(i)] for y in range(j)]

def GaussJordan(A,B,X):
for i in range(len(A)-1):
    for j in range(0,len(A)):
        if(i!=j):
            for k in range(i,len(A)):
                A[j][k]-=(A[i][k]*A[j][k])/A[i][i]

我在 spyder 3.1.4 上使用 python 3.6.1

【问题讨论】:

  • 您确定您传递的 A 与您在上述作业中创建的 A 相同吗?
  • 另外,请修正您的缩进,您发布的代码甚至无法按原样运行。
  • 这里有些脱节......我假设你会得到一个除以零的错误......你遗漏了我认为的示例代码的某些部分
  • 是的,代码中只有这个A存在
  • 数据结构对我来说很好用。正如预期的那样,我得到了ZeroDivisionError: division by zero

标签: python python-3.x multidimensional-array tuples list-comprehension


【解决方案1】:

程序中的这些行:

A[0] = 3, 0.1, -0.2
A[1] = 0.1, 7, -0.3
A[2] = 0.3, -0.2, 10

正在创建元组。您不能重新分配元组中的元素,这是 A[j][k]-=(...) 尝试做的。

另外,这是一个完美的例子,说明为什么您应该直接在您的问题中发布代码,而不是在图片或第三方网站上。

如果代码在您的问题中很容易查看,那么回答会容易得多。

【讨论】:

  • 哦,谢谢,很简单。很抱歉没有直接在帖子中发布代码,我认为整个发布会污染帖子
猜你喜欢
  • 2016-01-14
  • 1970-01-01
  • 2016-04-22
  • 2017-10-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-25
  • 2017-11-28
相关资源
最近更新 更多