python 中的矩阵基本帮助
Matrix basic help in python
n=input("r")
m=input("c")
l=range(m*n)
for r in range(m):
for c in range(n):
l[r][c]=input(" enter no")
for r in range(m):
for c in range(n):
print[r][c]
print
我想练习矩阵问题,但是当我 运行 我的矩阵编码 python 它给出了一个错误
Traceback (most recent call last):
File "D:/WORK/Python 2.7/matrix1", line 6, in <module>
l[r][c]=input(" enter no")
TypeError: 'int' object does not support item assignment
我是新手,学生请帮忙简单解释一下,我真的很需要理解
要创建二维矩阵替换:
l=range(m*n)
作者:
l=[[0 for i in range(m)] for j in range(n)]
演示:
>>> n=4
>>> m=3
>>> l=[[0 for i in range(m)] for j in range(n)] # you can use any value instead of 0 to initialize matrix
>>> l
[[0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0]]
n=input("r")
m=input("c")
myMatrix = [[0 for col in xrange(m)] for row in xrange(n)]
for row in xrange(n):
for col in xrange(m):
myMatrix[row][col] = input("enter no: ")
现在,看看矩阵:
for row in myMatrix:
for num in row:
print num,
print ""
你的问题来自于 range(m*n)
returns 一个平面列表,而你想要的是一个子列表列表(其中每个子列表是矩阵中的一行)
对于创建矩阵我建议你使用numpy
这里有一个例子example
使用 l=range(m*n)
创建列表,而不是二维矩阵。
n=input("r")
m=input("c")
l=range(m*n)
for r in range(m):
for c in range(n):
l[r][c]=input(" enter no")
for r in range(m):
for c in range(n):
print[r][c]
print
我想练习矩阵问题,但是当我 运行 我的矩阵编码 python 它给出了一个错误
Traceback (most recent call last):
File "D:/WORK/Python 2.7/matrix1", line 6, in <module>
l[r][c]=input(" enter no")
TypeError: 'int' object does not support item assignment
我是新手,学生请帮忙简单解释一下,我真的很需要理解
要创建二维矩阵替换:
l=range(m*n)
作者:
l=[[0 for i in range(m)] for j in range(n)]
演示:
>>> n=4
>>> m=3
>>> l=[[0 for i in range(m)] for j in range(n)] # you can use any value instead of 0 to initialize matrix
>>> l
[[0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0]]
n=input("r")
m=input("c")
myMatrix = [[0 for col in xrange(m)] for row in xrange(n)]
for row in xrange(n):
for col in xrange(m):
myMatrix[row][col] = input("enter no: ")
现在,看看矩阵:
for row in myMatrix:
for num in row:
print num,
print ""
你的问题来自于 range(m*n)
returns 一个平面列表,而你想要的是一个子列表列表(其中每个子列表是矩阵中的一行)
对于创建矩阵我建议你使用numpy
这里有一个例子example
使用 l=range(m*n)
创建列表,而不是二维矩阵。