【发布时间】:2013-09-21 07:41:19
【问题描述】:
谁能解释一下我得到的输出。作为第一次变量lists 为空白,但当data[i] 即10 附加到lists[i] 时,它变为
List: [[10], [10, [10]]
我不知道这个长长的列表是怎么来的。我是 python 的新手,想追踪它的行为。这是代码
data = [10, 20, 30]
list1 = list2 = list3 = list()
lists = [list1, list2, list3]
for i in range(len(data)):
lists[i].append(data[i])
print '-------------------'
print 'at %s' %(i)
print ' List: %s' % (lists)
print ' Data: %s' % (data[i])
和回应
-------------------
at 0
List: [[10], [10], [10]]
Data: 10
-------------------
at 1
List: [[10, 20], [10, 20], [10, 20]]
Data: 20
-------------------
at 2
List: [[10, 20, 30], [10, 20, 30], [10, 20, 30]]
Data: 30
【问题讨论】:
-
@lejlot,不,它不是您提到的帖子的完整副本。这里我需要 Rohit 提到的帖子中完美解释的解释
-
在两个问题中都有解释,而在 Rohit 标记的问题中实际上有点不同,因为它还显示了列表乘法操作如何处理引用(不是这样 这里)。但这并不是很重要,无论哪种方式 - 这是一个重复的问题,并且已经在网站上提供了很好的答案,希望他们帮助您理解这个问题:)
标签: python python-2.7