亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

python列表怎么復制

python列表怎么復制

米琪卡哇伊 2018-07-10 13:04:12
查看完整描述

3 回答

?
隔江千里

TA貢獻1906條經驗 獲得超10個贊

假設現有列表為a, 復制一個新列表為b。

用 b=a 這個語句,并不會復制出一個新的列表,只是復制了列表的地址。

無論是對a還是b進行修改,影響的都是同一個列表。


我們需要使用copy模塊中的deepcopy函數:

123import copya=[123]b=copy.deepcopy(a)

這時的b才是一個列表,而不是列表的地址了。


查看完整回答
反對 回復 2018-07-26
?
慕姐8265434

TA貢獻1813條經驗 獲得超2個贊

提問者這么短的描述,有點無法看懂,那就按照通常的幾種方法來說吧:

  1. 簡單列表的拷貝

    已知一個列表,求生成一個新的列表,列表元素是原列表的復制

    a=[1,2]
    b=a

    這種其實并未真正生成一個新的列表,b指向的仍然是a所指向的對象。

    后果:如果對a或b的元素進行修改,a,b的值同時發生變化。

    可以使用以下方法解決:

    a=[1,2]
    b=a[:]

    這樣修改a對b沒有影響。修改b對a沒有影響。

  2. 復雜列表的拷貝:

可以使用copy模塊中的deepcopy函數。修改測試如下:

import copy
a=[1,[2]]
b=copy.deepcopy(a)


查看完整回答
反對 回復 2018-07-26
?
海綿寶寶撒

TA貢獻1809條經驗 獲得超8個贊


import?copy?a?=?[1,?2,?3]?#引用b?=?a?#淺拷貝c?=?copy.copy(a)?#深拷貝d?=?copy.deepcopy(a)?#列表解析e?=?[i?for?i?in?a]


以上幾種都姑且可以稱為復制,但也有一些區別


查看完整回答
反對 回復 2018-07-26
  • 3 回答
  • 0 關注
  • 960 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號