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

Python中如何通过corners列表修改原二维列表s的对应元素值

Python列表赋值未生效问题解答

根因说明

  • 整数是Python中的不可变类型,你构建corners时只是把s对应位置的数值拷贝了一份存入新列表,corners和原列表s的存储位置没有关联,修改corners的元素不会影响原列表。
  • 原代码中corners[0] = 2的操作是把corners的第一个子列表直接覆盖为整数2,逻辑上也没有指向s[0][0]的位置。

实现方案

如果要通过corners修改原列表的对应位置,推荐在corners中存储位置索引而非数值副本,修改时通过索引定位到原列表赋值即可,示例代码如下:

s = [[5,4,7],[3,1,5],[1,7,4]]
# 存储四个角对应的行列索引
corners = [[(0,0), (2,2)], [(2,0), (0,2)]]
# 修改第一个角(即s[0][0])的值为2
r, c = corners[0][0]
s[r][c] = 2
print(s[0][0])

运行后输出结果为2,原列表s同步更新。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 06:27:05