有人可以详细说明它是如何运作的吗?
就像我正在使用值(3,3)
colNum
为3,rowNum
为3。
答案 0 :(得分:1)
multilist = [[0 for col in range(colNum)]for row in range(rowNum)]
打印' 0'在指定的列数和行数中。
例如:如果colNum为4且rowNum为4 ...那么你会注意到如下的多列表。
[[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0]]
这里的列表理解语句的语法是
[ [ output_expression() for(set of columns to iterate) ]for(set of rows to iterate)]
0是你的外表。
现在是另一个示例,其中输出表达式正在添加行索引和列索引
multilist = [[col+row for col in range(4)]for row in range(4)]
,输出
[[0,1,2,3],[1,2,3,4],[2,3,4,5],[3,4,5,6]]
答案 1 :(得分:1)
def print_multilist(rowNum, colNum):
multilist = [[0 for col in range(colNum)]for row in range(rowNum)]
print(multilist)
print_multilist(3,3)#prints [[0, 0, 0], [0, 0, 0], [0, 0, 0]]
print_multilist(2,2) #prints [[0, 0], [0, 0]]
以上一行是列表理解。如果不使用列表推导,它相当于如下
def print_multilist(rowNum, colNum):
multilist = []
for row in range(rowNum):
multilist.append([])
for col in range(colNum):
multilist[row].append(0)
print(multilist)
print_multilist(3,3) #prints [[0, 0, 0], [0, 0, 0], [0, 0, 0]]
print_multilist(2,2) #prints [[0, 0], [0, 0]]
列表推导在python中非常有用,因为它们减少了上面编写的代码。有关列表推导的更多信息,请访问link