使用包含对所述变量的引用的变量编辑变量
Edit variable using variable that contains reference to said variable
假设我有:
x = 2
y = x
y = 3
输出:
x = 2
y = 3
我想要的:
x = 3
现在,据我所知,这不会将 x 设置为 3,而是将 y 设置为 3。我怎么才能更改此设置,使 y 充当指向 x 的指针。我想编辑 x,而不是 y。以前,我相信我看过一个关于使用可变变量的页面。我不认为我完全理解变量在 Python.
中的工作原理
您可以使用 list
:
x = [2]
y = x
y[0] = 3
print(x)
输出:
[3]
这是因为 int 类型在 python 中是不可变的,当您尝试这样做时,不会创建从 y 变量到 x 的引用。您可以通过打印 id(x) 和 id(y) 轻松检查它。
如果您不想使用列表,正如 Erik McKelvey 向您推荐的那样,您可以试试这个 https://pypi.org/project/mutableint/
假设我有:
x = 2
y = x
y = 3
输出:
x = 2
y = 3
我想要的:
x = 3
现在,据我所知,这不会将 x 设置为 3,而是将 y 设置为 3。我怎么才能更改此设置,使 y 充当指向 x 的指针。我想编辑 x,而不是 y。以前,我相信我看过一个关于使用可变变量的页面。我不认为我完全理解变量在 Python.
中的工作原理您可以使用 list
:
x = [2]
y = x
y[0] = 3
print(x)
输出:
[3]
这是因为 int 类型在 python 中是不可变的,当您尝试这样做时,不会创建从 y 变量到 x 的引用。您可以通过打印 id(x) 和 id(y) 轻松检查它。
如果您不想使用列表,正如 Erik McKelvey 向您推荐的那样,您可以试试这个 https://pypi.org/project/mutableint/