将列表乘以数字会创建与原始列表有关系的项目吗?

时间:2018-08-04 22:11:48

标签: python python-3.x

我尝试创建身份矩阵,但是创建一个二维数组(可以说是列表中的列表)时出现问题,该数组可以由输入/参数确定。

我期望如此:-

def eye(limit):
    lst = [[0] * limit] * limit
    for i in range(limit):
        lst[i][i] =1
    return lst


for item in eye(4):
    print(item)

输出此:-

[1, 0, 0, 0]
[0, 1, 0, 0]
[0, 0, 1, 0]
[0, 0, 0, 1]

但是,请执行以下操作:-

[1, 1, 1, 1]
[1, 1, 1, 1]
[1, 1, 1, 1]
[1, 1, 1, 1]

我试图创建一个固定 4x4阵列,它出人意料地起作用并超出了预期的答案。

让我认为,通过将一个列表相乘不会创建另一个列表并将其连接起来,而是将它们乘以它们相乘的数字来打印。您怎么看,我该如何创建一个变量。

0 个答案:

没有答案