【问题标题】:I want to add "100" in the list so used append method我想在列表中添加“100”所以使用附加方法
【发布时间】:2019-09-20 14:02:07
【问题描述】:

想在 for 循环中应用 append 方法向列表添加新值,但结果无限无。我是编程新手。下面是我的代码。

a = [2, 3, "name",10]

for i in a:
    app = a.append(100)
    print(app) 

【问题讨论】:

  • 如果你尝试做print(a),你会发现你真的得到了你想要的。只是没找对地方……

标签: python-3.x for-loop


【解决方案1】:

append 实际上是通过修改原始列表来工作的,而不是返回带有附加项目的列表。事实上,正如您所发现的,该函数始终返回None。如果您改为打印原始列表的内容,即 print(a) 而不是 print(app),您将看到正在添加的项目。

【讨论】:

    【解决方案2】:

    list.append() 是一个返回None 的变异方法。换句话说,它会更改列表,但不会返回列表。执行app = a.append(100) 会使app 引用None 的结果。

    改变

    app = a.append(100)
    

    a.append(100)
    app = a # these now reference the same mutated list
    

    如果您不需要同一列表的两个名称,请删除 app = a

    另一方面,如果您希望 a 引用原始列表,而 app 引用修改后的列表,那么您可以这样做

     app = a + [100]
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-07-21
      • 2019-04-05
      • 2021-11-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多