【发布时间】: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
我只想更改二维列表中的一个元素。我可以使用 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
因为这是同一个列表的5个副本
list2 = [['o','o','o','o','o']]*5
充分了解何时可以使用相同引用的副本以及何时不能使用对于编写高效的代码很重要。
【讨论】: