社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

为什么python在分配matrix元素时会根据构建矩阵的方式做出不同的反应?[复制品]

Yassine Jiyar • 5 年前 • 2024 次点击  

我创建了一个列表列表并希望将项目附加到单个列表,但是当我尝试附加到其中一个列表时( a[0].append(2) ,该项将添加到所有列表中。

a = []
b = [1]

a.append(b)
a.append(b)

a[0].append(2)
a[1].append(3)
print(a)

给予: [[1, 2, 3], [1, 2, 3]]

但我希望: [[1, 2], [1, 3]]

改变我构建列表初始列表的方式,使 b 一个浮点数而不是一个列表并将括号放在里面 .append() ,提供所需的输出:

a = []
b = 1

a.append([b])
a.append([b])

a[0].append(2)
a[1].append(3)
print(a)

给予: [[1,2],[1,3]]

但是为什么呢?结果应该不同,这不是直觉。我知道这和 multiple references to the same list ,但我不知道发生在哪里。

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/43697
 
2024 次点击  
文章 [ 3 ]  |  最新文章 5 年前