我正在尝试将项目复制到列表中,但它总是只添加链接。
这就是我的尝试:
1:
list1 = []
list2 = [1]
list1.append(list2)
2
list1 = []
list2 = [1]
list1 += [list2]
3
list1 = []
list2 = [1]
list1 = list1 + [list2]
之后我修改list2时,list1也会一直改变。
Python版本:sys.version_info(major = 2,minor = 7,micro = 3,releaselevel ='final',serial = 0)
如何在不附加引用的情况下附加到列表中。
答案 0 :(得分:6)
你想要list1.extend(list2)
。有关详细信息,请参阅文档:http://docs.python.org/2/tutorial/datastructures.html
答案 1 :(得分:4)
答案取决于您对结果的期望。
如果您希望将整个列表作为单个元素附加,则需要使用list2[:]
制作(浅)副本,例如:
list1 += [list2[:]]
另一方面,如果您希望将list2
的元素追加到list1
,那么您&#39 ;寻找
list1.extend(list2)
答案 2 :(得分:0)
这可能不是最好的方法,因为它会创建一个新列表,但它可以工作:
list1 = list1 + list2