Python中字典的複製和引用

2021-06-29 14:02:36 字數 1315 閱讀 5505

__author__ = 'lxp'
自定義函式:

a = , 'p2': }}

def myfunc(pinfo):

print '------'

print pinfo

pinfo[33]=pinfo[33]+0.0088

print pinfo

pinfo[33]-= 0.0044

print pinfo

print '------'

myp=p(a)

print myp.ps

myfunc(myp.ps['p1'])

print myp.ps

輸出結果:
, 'p1': }

------

------

, 'p1': }

結論:當字典作為引數傳入函式時,函式裡面的修改會影響到原來的字典

類中使用另乙個變數代替字典key的結構

class p:

def __init__(self, a):

self.fir=a[1]

self.ps=a['ps']

#self.pinfoset =

def change(self):

for p in self.ps:

certainp=self.ps[p]

certainp['name']='x'

certainp[33]+=0.99

certainp[33]= certainp[33] + 0.44

certainp[11]=certainp[11]+'xy'

certainp[11]+='z'

print myp.ps

myp=p(a)

print myp.ps

myp.change()

print myp.ps

輸出結果:
, 'p1': }

, 'p1': }

結論:若b是乙個字典結構,令a=b, a中的變動會導致b中發生變動

python 列表和字典的引用與複製 copy

列表或字典的引用 引用針對變數的時候,傳遞引用後,對引用後的物件的值進行改變是不會影響到原值的 而列表不一樣如 spam 42 cheese spam spam 100 print spam out 100 print cheese out 42 如果對列表進行引用會是什麼情況呢,我們來看看 spa...

python中字典的排序和複製

在開發過程中通常要對字典進行排序,複製等操作,和列表一樣,字典的排序也採用sorted 函式,字典的複製除了可以使用update 函式外,還可以使用copy 函式,但是得注意二者之間的區別。字典的排序 先來演示字典的排序函式sort 的使用 print dict 按照key進行排序。items可以用...

python引用和複製

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