python 各類容器的複製和排序問題

2021-07-30 05:32:32 字數 594 閱讀 1101

列表複製 : 

a = [1,2,3,'a','b','c']

b = a   # b為a的引用,b改變a也隨之改變,b,a共享一塊記憶體

c = a[:]   # c為a內容的複製,c另外開闢了一塊記憶體,不與a共享記憶體

字典複製:

a = 

b = a  #結果同上

c = a.copy()  #淺拷貝,效果與b=a相同

d = a.deepcopy()  #深拷貝,另開闢一塊記憶體給c,並將a字典內容複製給d

列表排序:

a = [2,1,3,4,'b','a','c']

a.sort()   # [1, 2, 3, 4, 'a', 'b', 'c'],對列表所有元素由小到大排序

b = sorted(a)  # sorted會公升序排列並返回乙個新list

字典排序:

a = 

sorted(a.items(),key = lambda x : x[0])  #

將字典按鍵公升序排序

sorted(a.items(),ley = lambda x:x[1],reverse = true) #將字典按值降序排序

Python實現各類資料結構和演算法 計數排序

計數 排序 假設前提 n個輸入元素中的每乙個都是在0到k區間內的乙個整數,其中k為某個整數 基本思想 對每乙個輸入元素x,確定小於x的元素個數。利用這一資訊,就可以直接把x放到它 輸出陣列中的位置上了。例如 如果有17個元素小於x,則x就應該放在第18個輸出位置上。當有幾個元素相同時,這一方案要略作...

python 深複製和淺複製

l1 1,2,3 4,5 l2 list l1 l1 1,2,3 4,5 99 l2 1,2,3 4,5 l1 1 remove 2 l1 1,3 4,5 99 l2 1,3 4,5 l2 1 11,12 l2 2 10,11 l1 1,3,11,12 4,5 99 l2 1,3,11,12 4,5...

python引用和複製

在程式進行像 a b 這樣的賦值時,就會建立乙個對b的新引用。對於像數字和字串這種的不可變物件。這種賦值實際上是建立了b的副本。然而,對於可變物件 如列表和字典 引用行為會完全不同 例項 對應的輸出已經在相應的行標註 usr bin python coding utf 8 a 1,2,3,4 b a...