【问题标题】:Can't change single element in 2d list [duplicate]无法更改二维列表中的单个元素[重复]
【发布时间】:2015-02-20 10:23:30
【问题描述】:

我只想更改二维列表中的一个元素。我可以使用 list1[0][2] = "x" 更改 list1 中的一个元素,但是当我对 list2 执行相同操作时,会更改多个元素。

list1 = []

for i in range(0,5):
    list1.append(['O']*5)


list2 = [['o','o','o','o','o']]*5

【问题讨论】:

    标签: python


    【解决方案1】:

    因为这是同一个列表的5个副本

    list2 = [['o','o','o','o','o']]*5
    

    充分了解何时可以使用相同引用的副本以及何时不能使用对于编写高效的代码很重要。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-04-10
      • 2013-09-27
      • 2020-10-10
      • 1970-01-01
      • 2018-05-27
      • 2017-03-01
      相关资源
      最近更新 更多