- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我试图在不使用 numpy 的情况下在 Python 3.x 中转置矩阵。出于某种原因,我在分配 new_matrix[col_num][row_num]
时遇到了问题。例如,如果我创建一个新的 Matrix 实例,如 test = Matrix([[1,2,3,],[4,5,6],[7,8,9]])
,它第一次通过内部 for 循环时,new_matrix 变为 [[1,None,None],[1,None,None],[1,None,None]]
而不是 [[1,无,无],[无,无,无],[无,无,无]]
。我不明白为什么会这样,也不知道为什么它要为列表的所有第一个元素赋值。
class Matrix:
def __init__(self, matrix):
self.matrix = matrix
def transpose(self):
new_matrix = [[None] * len(self.matrix[0])] * len(self.matrix)
row_num = 0
for row_num in range(len(self.matrix)):
for col_num in range(len(self.matrix[0])):
print(new_matrix[col_num][row_num])
print(new_matrix)
#assignment assigning more than one variable
new_matrix[col_num][row_num] = self.matrix[row_num][col_num]
print(new_matrix[col_num][row_num])
print(new_matrix)
col_num = 0
return new_matrix
最佳答案
new_matrix = [[None] * len(self.matrix[0])] * len(self.matrix)
必须替换为
new_matrix = [[None for j in self.matrix[0]] for i in self.matrix]
这样,所有的 None 都会“不同”。
但更短的方法是直接使用扩展列表构建结果:
MT= [[M[j][i] for j in range(len(M))] for i in range(len(M[0]))]
关于python - 在没有模块的 Python 中转置矩阵?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41902184/
我已经在 jQuery transit 中加载了,我确定我是在加载 jQuery 之后才做的,但我仍然得到这个错误: 我查看了 Chrome 中的资源面板,在 jQuery 之后加载了 jQuery
我目前收到一个字符串,例如 Hello there my\r\nName is\r\nJohn Smith\r\nand\r\nstuff 我想将每一行放在一个新列表项...例如: 期望的结果(带有单
我正在尝试使用 MapKit 路线请求获取两个坐标之间的交通路线。 当我切换到其他(非 Transit)类型时,下面的代码可以工作,但是当我切换到 Transit 时,它会抛出一个错误,这个错误在 A
我是一名优秀的程序员,十分优秀!