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

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

在 python 中復制列表時使用 list() 的復雜性是多少?

在 python 中復制列表時使用 list() 的復雜性是多少?

慕姐4208626 2023-11-09 22:20:35
我有一個清單:a = [1,2,3,4]現在我想將列表復制a為列表bb = list(a)我想知道復制列表的步驟的復雜性a。
查看完整描述

3 回答

?
千巷貓影

TA貢獻1829條經驗 獲得超7個贊

復制列表時:

  • list.copy()

  • list[:]

  • list()

它遍歷所有元素。所以時間復雜度由列表的大小定義,即O(n)


查看完整回答
反對 回復 2023-11-09
?
慕桂英546537

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

當您對可變數據類型執行復制操作時:


b = list(a)

a is b # False

它將整個數據復制到另一個內存位置,時間復雜度由列表的總大小定義,即O(n)


如果您已將其分配如下(別名):


b = a

a is b # True

那么時間復雜度就是O(1)

查看完整回答
反對 回復 2023-11-09
?
皈依舞

TA貢獻1851條經驗 獲得超3個贊

淺復制、切片需要 O(n) 因為 Python 會遍歷列表中的所有元素并將對象引用的副本添加到新列表(按引用復制)。

淺復制

list.copy()

列表切片

list[:]

使用內置列表構造函數 list(...)

list()

使用列表理解

[e for e in lst]


查看完整回答
反對 回復 2023-11-09
  • 3 回答
  • 0 關注
  • 271 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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