我的代码从a[0][0]到a[0][3]的列表值已经更改,但我不确定为什么。。。
代码:
inputBin = list(input("Enter a binary number (max. 8 bits): "))
a = [[0] * 4] * 2
for j in range(2):
for i in range(4):
a[j][i] = int(inputBin[(2 * j) ** 2 + i])
print("a[", j,"][",i,"] = ", a[j][i])
for j in range(2):
for i in range(4):
print("a[",j,"][",i,"] = ",a[j][i])
输出
Enter a binary number (max. 8 bits): 11000011
a[ 0 ][ 0 ] = 1
a[ 0 ][ 1 ] = 1
a[ 0 ][ 2 ] = 0
a[ 0 ][ 3 ] = 0
a[ 1 ][ 0 ] = 0
a[ 1 ][ 1 ] = 0
a[ 1 ][ 2 ] = 1
a[ 1 ][ 3 ] = 1
a[ 0 ][ 0 ] = 0
a[ 0 ][ 1 ] = 0
a[ 0 ][ 2 ] = 1
a[ 0 ][ 3 ] = 1
a[ 1 ][ 0 ] = 0
a[ 1 ][ 1 ] = 0
a[ 1 ][ 2 ] = 1
a[ 1 ][ 3 ] = 1
请注意,底部的[0][0]到[0][3]与顶部不同。
输出图片
休耕行a = [[0] * 4] * 2
将创建一个包含2个引用的内部列表,您可以使用:
a = [[0] * 4 for _ in range(2)]