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

Python二维数组修改指定元素时全部行同步变更,求解决方案

问题原因与解决办法

问题根源

你用text=[[' ']*dlin]*hi创建二维数组时,实际上是把同一个列表对象重复了hi次。也就是说,数组里的每一行都指向内存中同一个列表,所以修改text[1][2]时,所有行的对应位置都会跟着改变——因为它们本质上是同一个列表。

解决方法

改用列表推导式创建二维数组,这样每一行都会生成一个独立的新列表:

sim = str(input('Введите символ для перемещения- '))
dlin = int(input('Введите количество строк в длину- '))
hi = int(input('Введите количество строк в высотку- '))
# 用列表推导式生成独立的行
text = [[' '] * dlin for _ in range(hi)]
text[1][2] = sim
for i in text:
    print(i)

原理说明

[[' ']*dlin for _ in range(hi)]会循环hi次,每次都生成一个新的[' ']*dlin列表,所以数组里的每一行都是独立的对象,修改其中一行的元素不会影响其他行。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.07 05:55:15