You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何根据矩阵中1的所在行修改列表元素?

根据二进制矩阵更新列表元素的实现方案

嘿,我来帮你搞定这个问题!咱们先把需求再明确一遍:

  • 初始是全为5的列表,比如示例里的[5,5,5,5,5]
  • 搭配一个仅含0和1的两行矩阵
  • 更新规则:
    • 矩阵第一行的1,对应列表同一位置元素加2
    • 矩阵第二行的1,对应列表同一位置元素加3
  • 最终得到更新后的新列表

用Python实现的解决方案

直接上可运行的代码,咱们一步步拆解:

# 初始化原始列表
v = [5, 5, 5, 5, 5]
# 给定的二进制矩阵
m = [[0, 1, 1, 0, 0], [0, 0, 1, 1, 0]]

# 遍历矩阵每一行,同时记录行索引
for row_idx, row in enumerate(m):
    # 根据行索引确定要添加的数值
    add_num = 2 if row_idx == 0 else 3
    # 遍历当前行的每个元素及对应位置
    for idx, val in enumerate(row):
        if val == 1:
            v[idx] += add_num

# 输出结果
print(v)  # 输出: [5, 7, 10, 8, 5]

代码逻辑说明

  1. 先把示例里的初始列表和矩阵定义好,确保和需求完全匹配
  2. 用enumerate遍历矩阵,既能拿到行内容,也能拿到行的索引(0对应第一行,1对应第二行)
  3. 根据行索引判断要加的数值:第一行加2,第二行加3
  4. 再遍历当前行的每个元素,遇到值为1的元素,就给列表对应位置的元素加上对应数值
  5. 运行后得到的结果和示例里的v1完全一致

这个写法逻辑清晰,要是以后矩阵规则有调整(比如新增行对应不同加数),只要修改add_num的判断逻辑就行,扩展性也不错。

内容的提问来源于stack exchange,提问作者kingdomking22

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.01 01:24:06