python拷貝list,python拷貝目錄

本文目錄一覽:

python 中此例totallist = list1[:]有人說是淺拷貝有人說是切片操作我看資料淺拷貝是用 shallow copy

python中序列都可以用切片操作。list[n:m:x],n表示起始位置,m表示終止位置(不包括),x表示步長。如果省略三個參數,默認為從0到最後,步長為一。

淺拷貝是拷貝值,修改拷貝的值不會影響原來的值。

totallist=list1[:]是切片操作,它實現的效果是將list1的值賦給totallist,也是淺拷貝。修改totallist的值不會影響到list1;如果是totallist=list1,修改其中任何一個列表,另一個都會隨之改變。 在這裡,切片操作是一種手段,淺拷貝是結果。

python 3 如何提取list中值

$ pythonPython 2.7.3 (default, Mar 14 2014, 11:57:14) [GCC 4.7.2] on linux2Type “help”, “copyright”, “credits” or “license” for more information. lst=[… ’11’, ‘1’, ‘100’, ’10\n’,… ’11’, ‘2’, ‘200’, ’20\n’,… ’11’, ‘3’, ‘300’, ’30\n’,… ’11’, ‘4’, ‘400’, ’40\n’] # 第一步:將數據組織成方便使用的結構 data = [… map(int, lst[i*4:(i+1)*4])… for i in xrange(len(lst)/4)… ] data[[11, 1, 100, 10], [11, 2, 200, 20], [11, 3, 300, 30], [11, 4, 400, 40]] # 第二步就直接簡單地計算好了 1. * sum([x[2] for x in data]) / len(data)250.0 1. * sum([x[3] for x in data]) / len(data)25.0

或者在要處理很多月份,並有按月計算的需求時:按月-數據的字典結構組織數據並設一個計算平均值的函數就更簡單了

123456789101112131415161718192021222324

lst=[… ’11’, ‘1’, ‘100’, ’10\n’,… ’11’, ‘2’, ‘200’, ’20\n’,… ’11’, ‘3’, ‘300’, ’30\n’,… ’11’, ‘4’, ‘400’, ’40\n’,… ’12’, ‘1’, ‘120’, ’12\n’,… ’12’, ‘2’, ‘230’, ’23\n’,… ’12’, ‘3’, ‘340’, ’34\n’,… ’12’, ‘4’, ‘450’, ’45\n’,… ] data = {} for x in [… map(int, lst[i*4:(i+1)*4])… for i in xrange(len(lst)/4)… ]:… data.setdefault(x[0], []).append(x[1:])… def avg(serial):… return 1. * sum(serial) / len(serial)… avg([x[1] for x in data[12]]) # 計算12月的第二個數據的平均值285.0

python 嵌套list讀取

b1=[[2]*3]*2

b2=[[2,2,2],[2,2,2]]

這個兩個定義的變量其實時不一樣的

b2一個list,包含兩個list元素

b1是1個list元素的兩個淺拷貝,可以理解成兩個指向[2]*3的指針。

出現這種問題,實際上理解的誤區,[2]*3

=

[2,2,2]

就想當然的把[[2]*3]*2=

[2,2,2]*2

=

[[2,2,2]

[2,2,2]]

其實[[]]是一個list的淺拷貝(或者理解成指向list指針)

更詳細的可以看下python的文檔,裡面有說明。

Python的列表有沒有淺複製跟深複製的概念

有的。比如:

首先這裡導入copy模塊,並生成三個列表

對list1的最外層進行修改操作:

list2和list3沒有任何影響

對list1內層進行修改操作:

發現list2和list3有不同,其中list2就是淺複製,list3就是深複製

淺複製就是指當對象的字段值被複制時,字段引用的對象不會被複制,也就是引用的對象和原數據還是同一個,並沒有產生一個新的對象

深複製指對對象中字段引用的對象也進行複製的一種方式,會產生一個新的值相同的不同對象

python list怎麼copy

Python3裡面 List有 copy()方法

或者使用list[:]

a= [1,2,3]

b= a[:]

#實現複製

python3對於列表的 [:]和list.copy 有什麼區別?

我們日常所說的複製(自己在電腦硬盤上的複製)就是深複製(deepcopy),即將被複制對象完全再複製一遍作為獨立的新個體單獨存在。所以改變原有被複制對象不會對已經複製出來的新對象產生影響。

而淺複製(copy)並不會產生一個獨立的對象單獨存在,他只是將原有的數據塊打上一個新標籤,所以當其中一個標籤指向的數據塊就會發生變化,另一個標籤也會隨之改變。這就和我們尋常意義上的複製有所不同了。

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/187208.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-11-27 13:36
下一篇 2024-11-27 13:36

相關推薦

  • Python列表中負數的個數

    Python列表是一個有序的集合,可以存儲多個不同類型的元素。而負數是指小於0的整數。在Python列表中,我們想要找到負數的個數,可以通過以下幾個方面進行實現。 一、使用循環遍歷…

    編程 2025-04-29
  • Python計算陽曆日期對應周幾

    本文介紹如何通過Python計算任意陽曆日期對應周幾。 一、獲取日期 獲取日期可以通過Python內置的模塊datetime實現,示例代碼如下: from datetime imp…

    編程 2025-04-29
  • Python中引入上一級目錄中函數

    Python中經常需要調用其他文件夾中的模塊或函數,其中一個常見的操作是引入上一級目錄中的函數。在此,我們將從多個角度詳細解釋如何在Python中引入上一級目錄的函數。 一、加入環…

    編程 2025-04-29
  • Python周杰倫代碼用法介紹

    本文將從多個方面對Python周杰倫代碼進行詳細的闡述。 一、代碼介紹 from urllib.request import urlopen from bs4 import Bea…

    編程 2025-04-29
  • 如何查看Anaconda中Python路徑

    對Anaconda中Python路徑即conda環境的查看進行詳細的闡述。 一、使用命令行查看 1、在Windows系統中,可以使用命令提示符(cmd)或者Anaconda Pro…

    編程 2025-04-29
  • Python清華鏡像下載

    Python清華鏡像是一個高質量的Python開發資源鏡像站,提供了Python及其相關的開發工具、框架和文檔的下載服務。本文將從以下幾個方面對Python清華鏡像下載進行詳細的闡…

    編程 2025-04-29
  • 蝴蝶優化算法Python版

    蝴蝶優化算法是一種基於仿生學的優化算法,模仿自然界中的蝴蝶進行搜索。它可以應用於多個領域的優化問題,包括數學優化、工程問題、機器學習等。本文將從多個方面對蝴蝶優化算法Python版…

    編程 2025-04-29
  • python強行終止程序快捷鍵

    本文將從多個方面對python強行終止程序快捷鍵進行詳細闡述,並提供相應代碼示例。 一、Ctrl+C快捷鍵 Ctrl+C快捷鍵是在終端中經常用來強行終止運行的程序。當你在終端中運行…

    編程 2025-04-29
  • Python程序需要編譯才能執行

    Python 被廣泛應用於數據分析、人工智能、科學計算等領域,它的靈活性和簡單易學的性質使得越來越多的人喜歡使用 Python 進行編程。然而,在 Python 中程序執行的方式不…

    編程 2025-04-29
  • Python字典去重複工具

    使用Python語言編寫字典去重複工具,可幫助用戶快速去重複。 一、字典去重複工具的需求 在使用Python編寫程序時,我們經常需要處理數據文件,其中包含了大量的重複數據。為了方便…

    編程 2025-04-29

發表回復

登錄後才能評論