Python矩阵遍历修改:将每行索引3元素设为前三个元素之和
解决方案
直接通过for循环遍历矩阵的每一行,利用列表的可变性直接修改对应位置的元素即可完成需求,不需要额外工具:
matrix = [ [1, 1, 1, 3], [2, 2, 2, 7], [3, 3, 3, 9], [4, 4, 4, 13] ] # 遍历矩阵的每一行 for row in matrix: # 计算当前行前3个元素的和,替换第4个元素(索引3) row[3] = sum(row[:3]) # 查看修改后的结果 print(matrix)
代码说明
for row in matrix:逐个取出矩阵中的行,由于列表是可变对象,对row的修改会直接同步到原矩阵中。row[:3]:通过切片获取当前行的前3个元素(索引0、1、2),sum()函数快速计算它们的总和。- 将计算结果赋值给
row[3],直接覆盖原有的第4个元素。
运行后输出结果:
[[1, 1, 1, 3], [2, 2, 2, 6], [3, 3, 3, 9], [4, 4, 4, 12]]
刚好符合需求:第2、4行的目标元素被正确替换,其他行因前3个元素的和与原第4个元素一致,修改后无变化。
内容的提问来源于stack exchange,提问作者Henrique Rocha PlayerNoobr
相关产品推荐
相关产品推荐

