gpt4 book ai didi

python - 基本的 python 。如何禁止函数更改列表?

转载 作者:行者123 更新时间:2023-11-28 20:28:35 24 4
gpt4 key购买 nike

>>> def test():
... a.remove(1)
>>> a = [1,2]
>>> test()
>>> print a
[2]

为什么 a 等于 [2] 而不是 [1,2]

最佳答案

列表是可变的。如果您将它传递给一个函数,并且该函数更改了它,它会保持更改状态。

  • 使用不可变结构:元组:a = (1,2)
  • 传递原始列表的副本:b = list(a); b.remove(1) — 现在 ab 有不同的内容,a 没有改变。

另外,尽量不要使用可变的全局数据。要么将 a 传递给函数,要么将 a 作为对象的属性,并将函数作为其方法。

关于python - 基本的 python 。如何禁止函数更改列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4841929/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com