假设原列表内容如下:
my_foods = ['pizza', 'falsfel', 'carrot', 'cake']
列表复制有两种方式:
(1)在不指定任何索引的情况下从列表my_foods中提取一个切片,从而创建该列表副本,再讲该副本存储到变量friend_foods中。打印列表发现包含食品相同,
friend_foods = my_foods[:]
(2)该方式将my_foods赋给friend_foods,而不是将my_foods的副本存储到friend_foods,该语法实际是让Python将新变量friend_foods关联到包含在my_foods中的列表,因此这种方式导致两个变量都只想同一个列表。
friend_foods = my_foods
以上两种方式的区别在于:
my_foods.append('cannoli')
friend_foods.append('ice cream')
(1)方式执行的结果为
my_foods = ['pizza', 'falsfel', 'carrot', 'cake','cannoli']
friend_foods = ['pizza', 'falsfel', 'carrot', 'cake','ice cream']
(2)方式执行的结果为
my_foods = ['pizza', 'falsfel', 'carrot', 'cake','cannoli']
friend_foods = ['pizza', 'falsfel', 'carrot', 'cake','cannoli']