python-2.7 - 变量引用和可变性
问题描述
我发现许多文章提供了如下示例:
listA = [0]
listB = listA
listB.append(1)
print listA
print listB
监狱是要显示两个列表都指向同一个对象,然后如果该对象发生更改,则两个列表都会显示该更改。实际上:
print listA is listB
显示 True...到目前为止一切顺利。
但是,我无法弄清楚为什么以下示例不能像上一个示例那样工作。
listA = [1, 2, 3]
max_val = max(listA)
print max_val is listA[-1] # True
max_val = 10
print max_val is listA[-1] # False
因此即使 max_val 指向列表的最后一个元素,列表也不会更改。
这是为什么 ?
解决方案
推荐阅读
- reactjs - 屏幕阅读器第一次未读取创建表单工具提示
- python-2.7 - Thrift Build 因“src/thrift/transport/TSSLSocket.cpp:43:10: fatal error: 'openssl/opensslv.h' file not found”而停止
- rust - 有没有办法从 travis-ci 构建下载编译工件?
- javascript - 如何在一页中使用两个范围滑块?
- python-3.x - 尝试使用 python 和 beautifulsoup 获取 onclick 属性的文本
- javascript - jquery-ui - 在 jquery(MySelctor).draggable 上,来自回调函数,如何在 MySelector 的每个元素上循环?
- python - 机器学习 - 使用算法检查文档是否有效
- javascript - 向我的快递服务器发布请求返回错误
- python - 如何使用多个参数从 txt 文件中拆分项目
- java - 实现 DateTextField 功能的问题