Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/329.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 要使用for循环打印包含所有0个元素的多维列表吗_Python_List_Loops_For Loop - Fatal编程技术网

Python 要使用for循环打印包含所有0个元素的多维列表吗

Python 要使用for循环打印包含所有0个元素的多维列表吗,python,list,loops,for-loop,Python,List,Loops,For Loop,期望低于输出 [[0,0,0,0,0][0,0,0,0,0][0,0,0,0][0,0,0,0,0]] 但是获取错误“索引器:列表索引超出范围” 这段代码有什么问题 r = 4 c = 5 list = [] temp_list =[] for r in range(r): for c in range(c): temp_list.append(0) list[c] += temp_list print(list) @PythonPitch-您想试试这一行吗:

期望低于输出

[[0,0,0,0,0][0,0,0,0,0][0,0,0,0][0,0,0,0,0]]
但是获取错误“索引器:列表索引超出范围”
这段代码有什么问题

r = 4
c = 5
list = []
temp_list =[]
for r in range(r):
    for c in range(c):
        temp_list.append(0)
    list[c] += temp_list
print(list)

@PythonPitch-您想试试这一行吗: (正如前面文章中的建议,您的初始化和
c
column&tmp_列表是错误的!)

r=h=4
w=c=5
矩阵=[[0代表范围内的x(w)]代表范围内的y(h)]
打印(矩阵)
#如果您坚持尽可能多地重用您的原始变量,以下是“正确”的方法:
r=4
c=5
lst=[[0表示范围内(c)]表示范围内(r)]
打印(lst)
assert lst==Matrix#它是无声的,意味着它们是“相同”的内容。

您必须在
for
循环的
中定义
临时列表
,而不是添加2
列表
使用
append
方法来实现预期结果

r = 4
c = 5
list = []
for r in range(r):
    temp_list =[]
    for x in range(c):
        temp_list.append(0)
    list.append(temp_list)
print(list)

list
是一个空列表,因此无论
c
是什么,
list[c]
都超出范围。将
temp\u list=[]
的定义移动到外部循环内。您需要在每次迭代中重新初始化列表,而不是重复使用它(当您这样做时)。
[[0]*c for uuu in range(r)]
应该做您想做的事情。我们还希望您能够在错误点之前跟踪有问题的值。在python中,
list
是保留的关键字,您应该为变量使用另一个名称,如果您为循环变量使用不同的变量名称,这将是一件好事。如果我们有两个列表,如下所示,则可能会产生问题list1=[1,3,6,7]list2=[5,7,8,4]如何从列表1和列表2生成列表3。List3必须低于List3=[[1,3,6,7],[5,7,8,4]]在我的初始代码中,我在praveen的解决方案中尝试使用c而不是x。一个小错误,仅此而已。顺便说一下,您的解决方案可能会给出相同的结果。但我想更正我的代码。非常感谢你回答我的问题。非常感谢。