【问题标题】:Difference between adding and appending to a list in Python [duplicate]Python中添加和追加到列表之间的区别[重复]
【发布时间】:2012-11-06 12:15:24
【问题描述】:

可能重复:
What is the difference between LIST.append(1) and LIST = LIST + [1] (Python)

我对参数如何传递给函数及其可变性有疑问,尤其是在列表的情况下。

考虑以下...

def add_list(p):
    p = p + [1]

def append_list(p):
   p.append(1)

p = [1, 2, 3]

add_list(p)
print p

append_list(p)
print p

我得到的输出是……

[1, 2, 3]
[1, 2, 3, 1]

为什么我在函数中追加原始列表时会改变,但如果我使用运算符 + 则不会改变?

【问题讨论】:

  • 追加变异。添加副本。
  • 简短回答:append()就地更改列表,+ 返回一个新列表,它根本不会影响原始列表。

标签: python


【解决方案1】:

函数中的赋值运算符创建一个新的局部变量。 在 *add_list* 函数中,您的 p 是局部变量。

【讨论】:

    猜你喜欢
    • 2014-01-08
    • 1970-01-01
    • 2020-08-08
    • 1970-01-01
    • 2021-01-10
    • 2016-05-20
    • 2016-03-19
    • 2019-04-06
    • 2020-08-04
    相关资源
    最近更新 更多