【发布时间】:2015-04-30 09:40:04
【问题描述】:
这可能没有多大意义,但我想更改以下内容以显示 'x' 而不是 'a'
>>> a = "a"
>>> b = "b"
>>> c = "c"
>>> d = [a, b, c]
>>> d[0] = "x"
>>> a
'a'
是否有可能以某种方式出现这种行为?不仅适用于字符串,也适用于其他对象。
【问题讨论】:
-
对 Python 本身没有重大改变。字符串是不可变的,因此根据定义不能就地更改。推荐阅读:nedbatchelder.com/text/names.html
-
正如@jonrsharpe 所说,python 文字(数字/字符串)是不可变的,只有像 object/list 这样的复杂类型是可变的,
-
@number5 这不太准确:
complexis a numeric type... 也有可变和不可变的映射和序列。 -
@jonrsharpe 这与可变性有什么关系?您可以为变量分配另一个值吗?这正是我想做的,它只是对对象的引用在列表中
-
你是什么意思“为什么会起作用”?!因为您分别更改了
d[0]和a!请阅读 Ned Batchelder 的文章,希望能消除您对 Python 分配工作方式的困惑。跨度>
标签: python