python - 为什么 pop() 函数会更改字典的列表值,但 capitalize() 不能更改字符串值的大小写?
问题描述
我正在尝试更改值而不重新分配字典中的任何值。但似乎它适用于 pop 函数而不适用于字符串函数。
我尝试了其他列表函数,并且与 pop 一样工作。看起来列表和字符串在用作值时工作方式不同。
my_dict={"Rank":[1,2,3],"Name":"John"}
my_dict.get("Rank").pop()
print(my_dict)
my_dict.get("Name").capitalize()
print(my_dict)
解决方案
my_dict.get("Rank")
是一个可变列表,您只使用对它的引用。您对其所做的任何更改,包括pop()
,都将反映在任何地方。
my_dict.get("Name")
是一个不可变的字符串。您无法更改它,因此capitalize()
将返回一个新字符串,而不是修改现有字符串。
推荐阅读
- python - 为什么ffmpeg只能录制动画的前100帧?
- arm - FLASH bank 和处理器内核指令获取 stm32f7
- python - 如何找到 ortools vrp 的优秀示例
- django - 如何在 Django admin 中为函数编写单元测试?
- android-studio - Gradle 不断强制下载到 4.6
- unity3d - 3D 声音不适用于设置为 3d 的空间混合
- python - 模板在 Django 中不存在
- javascript - 如何在文件上传器中检索文件的内容
- swift - 如何将包含自定义结构数组的自定义类型对象保存到领域(快速)?
- reactjs - 在服务器端(nextjs/apiRoutes)使用firebase/firestore获取多个数据=问题=>在数据准备好之前输出