python列表怎么复制

米琪卡哇伊
浏览 877回答 3
3回答

隔江千里

假设现有列表为a, 复制一个新列表为b。用 b=a 这个语句,并不会复制出一个新的列表,只是复制了列表的地址。无论是对a还是b进行修改,影响的都是同一个列表。我们需要使用copy模块中的deepcopy函数:123import copya=[1, 2, 3]b=copy.deepcopy(a)这时的b才是一个列表,而不是列表的地址了。

慕姐8265434

提问者这么短的描述,有点无法看懂,那就按照通常的几种方法来说吧:简单列表的拷贝已知一个列表,求生成一个新的列表,列表元素是原列表的复制a=[1,2]b=a这种其实并未真正生成一个新的列表,b指向的仍然是a所指向的对象。后果:如果对a或b的元素进行修改,a,b的值同时发生变化。可以使用以下方法解决:a=[1,2]b=a[:]这样修改a对b没有影响。修改b对a没有影响。复杂列表的拷贝:可以使用copy模块中的deepcopy函数。修改测试如下:import copya=[1,[2]]b=copy.deepcopy(a)

海绵宝宝撒

import copy a = [1, 2, 3] #引用b = a #浅拷贝c = copy.copy(a) #深拷贝d = copy.deepcopy(a) #列表解析e = [i for i in a]以上几种都姑且可以称为复制,但也有一些区别
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python