python - 如何在 Python 中将列表追加到空列表?
问题描述
我在下面尝试这段代码
lst = [[]] * n
lst[0].append(1)
如果我打印鳕鱼,结果是
[[1], [1], [1], [1], [1], [1]]
然后我尝试手动方式制作一个空列表,如下所示
lst = [[], [], [], [], [], []]
lst[0].append(1)
结果出现
[[1], [], [], [], [], []]
lst = [[]] * n
和之间有什么区别lst = [[], [], [], [], [], []]
吗?
解决方案
当您将列表列表与 n 相乘时,您仅重复对相同初始列表的引用,因此基本上您只有一个列表和对同一列表的许多引用,并且当您修改一个元素时,您正在修改所有元素;当您“手动”创建时,您有不同的列表
推荐阅读
- ruby-on-rails - Github 操作工作流 PG::ConnectionBad:无法连接到服务器:运行 bundle exec rake 时没有这样的文件或目录
- opencascade - pyOCCT 与 PythonOCC 的新项目(2020 年)
- android - DJI Android-UXSDKDemo Mavic 2 Enterprise 转北
- python - 如何根据条件从两个系列创建熊猫系列
- python - 确定值是否在另一个模数的不确定性范围内
- c# - 如果 IHostedService.StopAsync 方法的实现没有响应取消请求会怎样?
- elasticsearch - 跨索引的弹性搜索聚合不起作用
- python - Auth.Token 必须是“用户”实例 Django
- php - 如何在php中分离和修改字符串的内容?
- arrays - 基于键列链接谷歌工作表标签