我想像这样定义一个没有初始化长度的二维数组:
Matrix = [][]
但是这样会出现错误:
IndexError: 列表索引超出范围
我想像这样定义一个没有初始化长度的二维数组:
Matrix = [][]
但是这样会出现错误:
IndexError: 列表索引超出范围
l=[[0]*(L) for _ in range(W)]
将会比以下更快:
l = [[0 for x in range(L)] for y in range(W)]
[[0]*(L) for i in range(W)]
应该改为 [[0]*(L) for _ in range(W)]
,因为 i
没有在任何地方被使用。 - Ayush Vatsyayanlist 1: To store rows
list 2: Actual two-dimensional matrix
将整行存储在第一个列表中。完成后,将列表1附加到列表2中:
from random import randint
coordinates=[]
temp=[]
points=int(raw_input("Enter No Of Coordinates >"))
for i in range(0,points):
randomx=randint(0,1000)
randomy=randint(0,1000)
temp=[]
temp.append(randomx)
temp.append(randomy)
coordinates.append(temp)
print coordinates
输出:
Enter No Of Coordinates >4
[[522, 96], [378, 276], [349, 741], [238, 439]]
matrix_in_python = [['Roy',80,75,85,90,95],['John',75,80,75,85,100],['Dave',80,80,80,90,95]]
通过使用字典: 你也可以将这些信息存储在哈希表中,以便快速搜索,如:
matrix = { '1':[0,0] , '2':[0,1],'3':[0,2],'4' : [1,0],'5':[1,1],'6':[1,2],'7':[2,0],'8':[2,1],'9':[2,2]};
matrix['1']将在O(1)时间内给出结果。
*注意: 您需要处理哈希表中的冲突。
# Creates a list containing 5 lists initialized to 0
Matrix = [[0]*5]*5
注意这个简短的表达式,在 @F.J 的回答中有完整解释。
Matrix[0]
,Matrix[1]
,...,Matrix[4]
都指向同一个数组,所以在执行Matrix[0][0] = 3
之后,您会发现Matrix[0][0] == Matrix[1][0] == ... == Matrix[4][0] == 3
。 - gongzhitaaoimport numpy as np
# Generate a random matrix of floats
np.random.rand(cols,rows)
# Generate a random matrix of integers
np.random.randint(1, 10, size=(cols,rows))
这里是创建Python矩阵的代码片段:
# get the input rows and cols
rows = int(input("rows : "))
cols = int(input("Cols : "))
# initialize the list
l=[[0]*cols for i in range(rows)]
# fill some random values in it
for i in range(0,rows):
for j in range(0,cols):
l[i][j] = i+j
# print the list
for i in range(0,rows):
print()
for j in range(0,cols):
print(l[i][j],end=" ")
请建议我是否遗漏了什么。
def inmatrix(m,n):
#Start function and pass row and column as parameter
a=[] #create a blank matrix
for i in range(m): #Row input
b=[]#blank list
for j in range(n): # column input
elm=int(input("Enter number in Pocket ["+str(i)+"]["+str(j)+"] ")) #Show Row And column number
b.append(elm) #add value to b list
a.append(b)# Add list to matrix
return a #return Matrix
def Matrix(a): #function for print Matrix
for i in range(len(a)): #row
for j in range(len(a[0])): #column
print(a[i][j],end=" ") #print value with space
print()#print a line After a row print
m=int(input("Enter number of row")) #input row
n=int(input("Enter number of column"))
a=inmatrix(m,n) #call input matrix function
print("Matrix is ... ")
Matrix(a) #print matrix function
试试这个:
rows = int(input('Enter rows\n'))
my_list = []
for i in range(rows):
my_list.append(list(map(int, input().split())))
def matrix(rows, cols, start=0):
return [[c + start + r * cols for c in range(cols)] for r in range(rows)]
assert matrix(2, 3, 1) == [[1, 2, 3], [4, 5, 6]]
ar1 = []
for i in list:
temp = (i,1)
ar1.append(temp)
ar1[0][1]