python中复制列表而不改变原列表的几种方法

 时间:2026-02-16 13:57:08

1、如图,通过将列表cities1的值赋值给新列表cities2,得到两个完全一样的列表,看起来并没有什么问题。代码示例如下:

cities1 = ["Guangzhou","Beijing","Shanghai","Nanjing"]

cities2 = cities1

print(cities1)

print(cities2)

python中复制列表而不改变原列表的几种方法

2、接着我们对产生的新列表cities2进行添加元素的操作,再打印新旧列表时,发现新旧列表都发生了相同的改变。代码示例如下:

cities2.append("Kunming")

print(cities1)

print(cities2)

python中复制列表而不改变原列表的几种方法

3、然后我们再对旧列表cities1进行插入新元素的操作,然而再次打印新旧列表时会发现,新旧列表仍然发生了相同的改变。代码示例如下:

cities1.insert(1,"Xiamen")

print(cities1)

print(cities2)

python中复制列表而不改变原列表的几种方法

4、综上所述可以得知,通过直接赋值方式得到的新列表会跟原列表一样,同时对新列表或者旧列表的任何操作都会同步到旧列表或者新列表。

接下来介绍几种方法,创建新列表但使其不与旧列表同步。

1、使用切片方法复制,比直接赋值多了[:]。代码示例如下:

cities1 = ["Guangzhou","Beijing","Shanghai","Nanjing"]

cities2 = cities1[:]

print(cities1)

print(cities2)

python中复制列表而不改变原列表的几种方法

2、使用切片方法复制后,如果对新列表进行添加元素的操作,再打印新旧列表时发现,新列表的操作并没有影响原列表。完整代码示例如下:

cities1 = ["Guangzhou","Beijing","Shanghai","Nanjing"]

cities2 = cities1[:]

cities2.append("Kunming")

print(cities1)

print(cities2)

python中复制列表而不改变原列表的几种方法

3、使用切片方法复制后,如果对旧列表进行插入元素的操作,再打印新旧列表时发现,旧列表的操作并没有影响新列表。完整代码示例如下:

cities1 = ["Guangzhou","Beijing","Shanghai","Nanjing"]

cities2 = cities1[:]

cities1.insert(1,"Xiamen")

print(cities1)

print(cities2)

python中复制列表而不改变原列表的几种方法

1、也可使用list.copy()的方法复制新列表,这种方式产生的新列表跟原列表也是完全分离的。代码示例如下:

cities1 = ["Guangzhou","Beijing","Shanghai","Nanjing"]

cities2 = cities1.copy()

cities1.insert(1,"Xiamen")

print(cities1)

print(cities2)

python中复制列表而不改变原列表的几种方法

1、还可使用for循环的方法复制新列表,这种方式产生的新列表跟原列表同样是完全分离的。代码示例如下:

cities1 = ["Guangzhou","Beijing","Shanghai","Nanjing"]

cities2 = [i for i in cities1]

cities2.append("Kunming")

print(cities1)

print(cities2)

python中复制列表而不改变原列表的几种方法

  • 原神有一说一成就怎么完成
  • VISIO如何画复杂封闭图形
  • 原神八重神子天赋怎么升级
  • 水深渊法师怎么破盾效率最高
  • 原神梦与无梦的隙间成就怎么获得
  • 热门搜索
    怎么用迅雷下载电影 若尔盖旅游攻略 哪里买手机最便宜 苹果文件夹在哪里 产后如何收腹 cf不是全屏怎么调 丝绸之路旅游攻略 安徽旅游局 叫我如何不想她 紫砂杯如何开杯