Python 列表可变

2024-01-07

我试图使用Python术语来解释为什么会发生以下情况,有人可以解释为什么吗tmp变成[[1,2,3]]不保持原样[[1,2]]?

arr = []
tmp = [1,2]
arr.append(tmp)
print arr # [[1,2]]
tmp.append(3)
print arr # [[1,2,3]]

arr = []是一个空列表,当您追加时tmp通过:

tmp = [1, 2]
arr.append(tmp)

你正在把tmp in the arr列出,从而给你arr = [tmp]可以扩展到arr = [[1,2]]。但这里的巧妙之处在于您保留了对列表的引用,[1,2]通过temp多变的。因此,当您附加temp您正在附加与中相同的列表arr.

为了进一步澄清,只是因为您要附加tmp to arr并不意味着结果列表[[1,2]]一切都将成为内存中的一个连续块。您将拥有arr列表和第一个元素arr将是一个指向列表的指针tmp.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python 列表可变 的相关文章

随机推荐

  • Oracle ORA-01031: 创建用户时权限不足

    我已经创建了一个用户 我们称他为 sysdba 的 C USER 现在 我尝试从 C USER 创建另一个用户 问题是我不断收到以下错误 ORA 01031 权限不足 我已授予 C USER 所有权限 并将默认角色设置为 ALL 目前还没有
  • scala 中的 while 循环可以与 Yield 一起使用吗

    这是 scala 中 for yield 的标准格式 注意它需要一个集合 其元素驱动迭代 for blah lt blahs yield someThingDependentOnBlah 我遇到的情况是循环中会发生不确定数量的迭代 内部循环
  • 非 JSP(独立)上下文中的 JSTL/JSP EL(表达式语言)

    谁能推荐一个框架 用于在独立应用程序中按照 JSP EL 表达式语言 进行模板化 格式化消息 我希望能够实例化某种对象 给它一个模板 Dear customer firstName You order will be dispatched
  • Vue.js 中的嵌套组件:无法安装组件:模板或渲染函数未定义

    我正在使用 Vue CLI 并收到此错误 它被发现于
  • 如何在Python中读取多行.properties文件

    我正在尝试读取 java 多行 i18n 属性文件 有这样的行 messages welcome Hello World messages bye bye 使用此代码 import configobj properties configob
  • OpenGL:将鼠标点击投影到几何体上

    我设置了这个视图 glMatrixMode GL MODELVIEW Switch to the drawing perspective glLoadIdentity Reset the drawing perspective 我通过单击鼠
  • bson 的 javascript/javascriptwithscope 类型有什么用

    我想知道这两种类型的 bson javascript javascriptwithscope 的使用 作为 bson 的基本类型 它的用例是什么以及如何生成 javascriptwithscope 对象以保存在 mongodb 中 类型 编
  • 使用 pug mixin 结果作为属性值

    这是我想要完成的任务的精简版本 mixin foo bar bar html a href foo baz test 我希望将锚标记编译为 a href baz html test a 但我得到的是类型错误 foo不是一个函数 虽然我确实看
  • Lightgallery 中的图像位于单独的 div 中

    我有多个行图像 我想要光廊 https github com sachinchoolur lightGallery捕获我页面上的所有图像 我似乎只能为每一排设置单独的灯光画廊 而不是一个大画廊 出现此问题的原因是我在 div 中有一组图像
  • 使用 pyopengl 渲染 pygame 精灵

    在我的游戏中 我使用 pygame 来渲染精灵 但是该工作是在 CPU 端完成的 对于性能问题 如何使用 pyopengl 绘制这些精灵 那些天我开始学习c 中的opengl 它和python类似吗 如果你只想在 GPU 上渲染精灵 你可以
  • 集会看板 - 隐藏史诗故事

    有没有办法从 Rally 的看板应用程序中隐藏史诗故事 即与儿童有关的故事 大概通过将看板 目录应用程序 代码自定义为自定义应用程序 我发现看板 javascript 应用程序代码的一部分根据 分配给版本 的故事是否隐藏来设置查询 并且我在
  • Python子进程check_output编码特殊字符

    我在 python 编码方面遇到一些问题 当我尝试执行此操作时 subprocess check output ipconfig shell True 它给了我一个包含特殊字符的输出 例如 Statut du m x82dia M x82d
  • RecyclerView 中类似寻呼机的行为

    我正在尝试为水平方向实现类似 ViewPager 的行为RecyclerView 来自适配器的数据应该正常膨胀和绑定 但是通过适配器的导航Recycler应该区别对待 当用户滑动 或尝试滚动 时 我移动Recycler朝该方向的一个项目 将
  • Nodemailer 与 Gmail |出现错误:错误:无效登录:535-5.7.8 用户名和密码不被接受

    我正在尝试使用带有 Gmail 帐户的 Nodemailer 在我的应用程序中设置电子邮件验证 我的问题是它报告错误 指出我的用户名和密码尚未被接受 There was an error Error Invalid login 535 5
  • 如何检查数据库列中存在的字符串? [关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 help reopen questions 我有带有字
  • 将 BigDecimal 格式化为最多 2 位小数的字符串,删除小数部分的 0

    我有一个 BigDecimal 数字 我只考虑它的小数点后两位 所以我使用以下方法截断它 bd bd setScale 2 BigDecimal ROUND DOWN 现在我想将其打印为字符串 但如果它是 0 则删除小数部分 例如 1 00
  • 如何解决延迟启用CheckJNI?

    我是 android 新手 正在使用 genymotion 模拟器 但突然我在 log cat 中遇到了延迟启用检查问题 并且我的应用程序崩溃了 我尝试在其他模拟器上运行它 但在 log cat 中仍然收到相同的消息 我搜索了很多网站但仍然
  • Java中如何检测字符集编码?

    有谁知道是否有一种简单的方法来检测Java中的字符集编码 在我看来 有些程序能够检测给定的数据使用哪个字符集 或者至少能够进行近似 我想底层机制必须解码每个字符集中的数据 并选择具有最少未定义字符的字符集 然后选择哪个字符集更常见以打破平局
  • 如何使用node.js和Request包禁用HTTP标头中的“withcredentials”?

    使用 Node js 和Request https github com mikeal request来自浏览器的包 通过浏览器化 http browserify org 我使用 CORS 在单独的域上执行 HTTP GET 请求 在服务器
  • Python 列表可变

    我试图使用Python术语来解释为什么会发生以下情况 有人可以解释为什么吗tmp变成 1 2 3 不保持原样 1 2 arr tmp 1 2 arr append tmp print arr 1 2 tmp append 3 print a