如何打印标识矩阵的行

2024-04-18 17:08:34 发布

您现在位置:Python中文网/ 问答频道 /正文

基本上,我想要打印的内容如下:

(1 0 0 0), (0 1 0 0), (0 0 1 0), (0 0 0 1)

我尝试了下面的代码,看看是否能找到一个解决方案,但没有太大成功

zeros = [0, 0, 0, 0]

for x in zeros:
   print(x + 1)

在这一点上,我想不出任何方法,只把其中一个零改成一,或者把它们全部改成一,然后以某种方式把它们恢复成零


Tags: 方法代码in内容for方式zeros解决方案
3条回答
zeros = [0, 0, 0, 0]

for i in range(len(zeros)):
    zeros=[0,0,0,0]
    zeros[i]=1
    print(zeros)
zeros = [0, 0, 0, 0]

for i,x in enumerate(zeros):
  zeros[i]= 1
  print(zeros)
  zeros[i] = 0

输出:

[1, 0, 0, 0]
[0, 1, 0, 0]
[0, 0, 1, 0]
[0, 0, 0, 1]
zeros = [0, 0, 0, 0]
outp=[]

for key, val in enumerate(zeros):
    temp = zeros.copy()
    temp[key] = 1
    outp.append(tuple(temp))

print(outp)

输出:

[(1, 0, 0, 0), (0, 1, 0, 0), (0, 0, 1, 0), (0, 0, 0, 1)]

相关问题 更多 >