列表的列表和副本(有什么区别?)

时间:2018-04-11 20:22:12

标签: python

这是我的第一个问题 - 抱歉,如果有点琐碎

我想知道这两种方法之间有什么区别(有没有?)

方法A

animals = ['cat', 'dog', 'goldfish']  
pets = animals[:] 

animals.sort()
pets.append('donkey')

print(animals)
print(pets)

方法B

animals = ['cat', 'dog', 'goldfish']
pets = list(animals)

animals.sort()
pets.append('donkey')

print(animals)
print(pets)

在方法中创建列表副本并将其分配给新变量(宠物)

在方法B中创建新列表并将其分配给宠物?

(不确定我是否正确)我们在方法A中创建列表吗?

1 个答案:

答案 0 :(得分:0)

两者都将复制存储在animals变量中的列表,并将其分配给pets变量。副本是按值而非参考,因此更改分配给pets的列表中的项目不会更改分配给animals的列表,反之亦然