當前位置:首頁 » 編程語言 » python復制list

python復制list

發布時間: 2022-12-21 08:41:56

『壹』 python字典淺復制問題

這個情況跟你設計有關系的,dict1['1']應該是一個list,然後dict2['1']是另外一個list。如果前面的list跟後面的list不是一個,或者沒有的關系的話,修改dict1['1']不會影響dict2['1']。
如果dict1['1'][0]是一個list,然後dict2['1'][0]也指向這個list的話,修改dict1['1'][0],dict2['1'][0]也會跟著變化。

『貳』 python 3 如何提取list中值

$ pythonPython 2.7.3 (default, Mar 14 2014, 11:57:14) [GCC 4.7.2] on linux2Type "help", "right", "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>>>

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


>>> 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>>>

『叄』 python3對於列表的 [:]和list. 有什麼區別

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

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

『肆』 Python的列表有沒有淺復制跟深復制的概念

有的。比如:

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

發現list2和list3有不同,其中list2就是淺復制,list3就是深復制

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

深復制指對對象中欄位引用的對象也進行復制的一種方式,會產生一個新的值相同的不同對象

『伍』 python怎麼把list依次賦值

import List2=.deep(List1)這樣賦值,List2初始值和List1一樣,因為是深度復制List1中的元素,所有深層元素都引用的是不同的對象,List1的任何改變不會影響List2

『陸』 python,將一個列表的數據復制到另一個列表中。

#coding=utf-8
import
list=[1,2,3]

#普通賦值(引用)
list_a=list
#切片賦值(引用)
list_b=list[:]
#淺拷貝
list_c=list.()
list_d=.(list)#需要導入包
#深拷貝
list_e=.deep(list)#需要導入包

『柒』 python函數中傳入list為啥會這樣,這破問題卡了一整天

代碼及運行結果如圖:

從你的問題來看是一個新手,建議直接放棄2.x版本學習3.x版本。對現在的你來說用到的2與3版本之間的差異可能也就是print(如圖中所示與你代碼的差異),影響很小。

代碼解釋:

你的代碼中用A,B = inputlist,inputlist進行賦值,實際A與B都是指向了同一個內存對象,所以對其中任意一個做出修改,即修改了內存中的這個對象,造成A與B同時修改。解決方法,引入模塊中的deep()函數,保證A與B指向長的一樣但在內存中是兩個對象,這樣對其中一個修改時完全不影響到另一個。

『捌』 python 列表操作的一個問題

一、創建一個列表
只要把逗號分隔的不同的數據項使用方括弧括起來即可。如下所示:

復制代碼代碼如下:
list1 = ['physics', 'chemistry', 1997, 2000];
list2 = [1, 2, 3, 4, 5 ];
list3 = ["a", "b", "c", "d"];

與字元串的索引一樣,列表索引從0開始。列表可以進行截取、組合等。
二、訪問列表中的值
使用下標索引來訪問列表中的值,同樣你也可以使用方括弧的形式截取字元,如下所示:

復制代碼代碼如下:
#!/usr/bin/python

list1 = ['physics', 'chemistry', 1997, 2000];
list2 = [1, 2, 3, 4, 5, 6, 7 ];

print "list1[0]: ", list1[0]
print "list2[1:5]: ", list2[1:5]

以上實例輸出結果:

復制代碼代碼如下:
list1[0]: physics
list2[1:5]: [2, 3, 4, 5]

三、更新列表
你可以對列表的數據項進行修改或更新,你也可以使用append()方法來添加列表項,如下所示:

復制代碼代碼如下:
#!/usr/bin/python

list = ['physics', 'chemistry', 1997, 2000];
print "Value available at index 2 : "
print list[2];
list[2] = 2001;
print "New value available at index 2 : "

熱點內容
c語言自考 發布:2025-05-15 07:52:42 瀏覽:499
壓縮的玉 發布:2025-05-15 07:51:22 瀏覽:788
android的控制項 發布:2025-05-15 07:50:36 瀏覽:551
南崗法院伺服器ip地址 發布:2025-05-15 07:46:02 瀏覽:286
實況如何退出賬號安卓 發布:2025-05-15 07:45:56 瀏覽:917
深入編譯器 發布:2025-05-15 07:41:35 瀏覽:878
電信手機號服務密碼怎麼查 發布:2025-05-15 07:40:10 瀏覽:613
python全局變數文件 發布:2025-05-15 07:35:06 瀏覽:954
位元組和存儲位元組 發布:2025-05-15 07:32:10 瀏覽:521
linux應用開發工程師 發布:2025-05-15 07:32:07 瀏覽:261