【发布时间】:2019-12-22 06:33:46
【问题描述】:
我正在尝试更改值而不重新分配字典中的任何值。但似乎它适用于 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)
【问题讨论】:
-
list对象是可变的。列表上的一些方法是 mutator 方法,也就是说,它们“就地”工作。.pop就是这样一种方法。str对象是不可变的。这仅仅意味着他们缺少修改器方法,所以你知道他们的方法都不会“就地”工作。所以.capitalize()只是返回一个新字符串,它会立即被丢弃(因为你没有将它分配给任何东西)
标签: python python-3.x