在Python中创建2D矩阵的更优雅方式

use*_*051 15 python loops matrix

可能重复:
如何在Python中初始化二维数组?

我总是以这种方式编写这部分代码:每次我需要它时,我都使用这个python代码:

for x in range(8):
        a.append([])
        for y in range(8):
            a[x].append(0)
Run Code Online (Sandbox Code Playgroud)

但是,我想知道是否有办法美化这段代码.我的意思是,你如何在python中创建一个二维矩阵,并用0填充它?

unu*_*tbu 18

使用嵌套列表推导:

a = [[0 for y in range(8)] for x in range(8)]
Run Code Online (Sandbox Code Playgroud)

这是等价的

a = []
for x in range(8):
    row = []
    for y in range(8):
        row.append(0)
    a.append(row)
Run Code Online (Sandbox Code Playgroud)