在 Python 中填充矩阵行

Fill Matrix Rows in Python

提问人:Infernalissss 提问时间:11/11/2022 更新时间:11/11/2022 访问量:41

问:

假设我们在 Python 中有一个嵌套列表。又名矩阵,我们有一个由元素组成的列表,假设 li = [1, 2, 3, 4, 5, 6]。我想在矩阵行中插入两个元素,结果矩阵 = [ [1,2] [3,4], [5,6] ]。这怎么能做到呢?谢谢!

b = [[]]
c = [1, 2, 3, 4, 5, 6]

for i in range(len(c)):
    for j in range(2):
        b[i].append(c[i])

print(b)

Python for 循环 矩阵 嵌套列表

评论

2赞 John Gordon 11/11/2022
此代码将在外循环的第二次迭代中崩溃,因为没有 .b[1]
1赞 John Gordon 11/11/2022
您需要将子列表直接添加到 中,即bb.append([])

答:

1赞 wwii 11/11/2022 #1

这怎么能做到呢?

  • 使用切片拆分列表
    a[0:2],a[2:4],a[4:6]
  • 将其中每个附加到空列表中
  • 或者以这些切片作为项目构建一个列表
1赞 Mohammadreza Razavian 11/11/2022 #2

你可以像这样做:

c = [1, 2, 3, 4, 5, 6]
b = []
fixed_c = []
for i in range(len(c) + 1):
    if len(b) < 2 :
        b.append(c[i])
    elif len(b) == 2 and i != len(c):
        fixed_c.append(b)
        b = []
        b.append(c[i])
    else:
        fixed_c.append(b)
        
print(fixed_c)