亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Python 列表的清空方式

 更新時間:2020年01月13日 10:37:30   作者:BYR_jiandong  
今天小編就為大家分享一篇Python 列表的清空方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

情況列表的操作:

del list[:]

list=[]

list[:]=[]

def func(L):                                  
  L.append(1)
  print L
  #L[:]=[]
  #del L[:]
  L = []
  print L
 
L=[]
func(L)
print L

輸出結果:

[1]

[]

[1]

分析:L是可變數(shù)據(jù)類型,L作為參數(shù),函數(shù)內(nèi)對L的改變,是可以反映到函數(shù)外的L中的,執(zhí)行L.append(1),是在操作,函數(shù)外L所占據(jù)的那塊內(nèi)存,然后執(zhí)行L =[],(函數(shù)內(nèi)的L),想當于L指向了另外一個空間。所以,func(L),print L,輸出[1]。

其實函數(shù)的本意是將參數(shù)L指向的內(nèi)存清空,用L=[],并不能清空L指向的內(nèi)存

def func(L):
  L.append(1)                                 
  print L
  L[:]=[]
  #del L[:]
  #L = []
  print L
 
L=[]
func(L)
print L

輸出結果:

[1]
[]
[]

L[:]=[]:把L對應的內(nèi)存清空

def func(L): 

  L.append(1)
  print L
  #L[:]=[]
  del L[:]
  #L = []
  print L
 
L=[]
func(L)
print L

分析:

del L[:] 的效果跟L[:]=[]的效果是一樣的。

python 賦值,往往是通過指針完成的,a=b,只是讓a指向了b,并未把b的內(nèi)容拷貝到a

def func(L):                                  
  L.append(1)
  print L
  print id(L)
  #L[:]=[]
  #del L[:]
  L = []
  print id(L)
  print L
 
L=[]
func(L)
print L

輸出結果:

31460240

31460168

很明顯:通過賦值L=[]后,L指向的內(nèi)存完全不一致了。

類似于c++的引用賦值。

Python 賦值都是引用賦值,相當于使用指針來實現(xiàn)的另一個例證

list =[]                                    
next = [None,None]
for i in range(10):
  next[0] = i 
  #print id(i)
  #print id(next[0])
  next[1] = i 
  #print id(next)
  list.append(next)
 
print list

輸出結果:

[[9, 9], [9, 9], [9, 9], [9, 9], [9, 9], [9, 9], [9, 9], [9, 9], [9, 9], [9, 9]]

跟我們想要的結果不一致

list.append(next),僅僅是把next的地址放到list 里面

我們整個for 循環(huán)就使用了一個next,只是每次for循環(huán),都在初始的next上進行操作,本次的操作會覆蓋上次的結果

list =[]                                    
next = [None,None]
for i in range(10):
  next[0] = i 
  #print id(i)
  #print id(next[0])
  next[1] = i 
  #print id(next)
  list.append(next)
 
print list
print id(list[0])
print id(list[1])

輸出結果:

[[9, 9], [9, 9], [9, 9], [9, 9], [9, 9], [9, 9], [9, 9], [9, 9], [9, 9], [9, 9]]

36166472

36166472

解決辦法,每次for 循環(huán)都重新分配空間

list =[]                                    
for i in range(10):
  next = [None,None]
  next[0] = i 
  #print id(i)
  #print id(next[0])
  next[1] = i 
  #print id(next)
  list.append(next)
 
print list
print id(list[0])
print id(list[1])

輸出結果:

[[0, 0], [1, 1], [2, 2], [3, 3], [4, 4], [5, 5], [6, 6], [7, 7], [8, 8], [9, 9]]

15060360

15059712

以上這篇Python 列表的清空方式就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • 通過實例了解python property屬性

    通過實例了解python property屬性

    這篇文章主要介紹了通過實例了解python property屬性,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-11-11
  • Numpy之文件存取的示例代碼

    Numpy之文件存取的示例代碼

    這篇文章主要介紹了Numpy之文件存取的示例代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-08-08
  • 淺談Python 列表字典賦值的陷阱

    淺談Python 列表字典賦值的陷阱

    今天小編就為大家分享一篇淺談Python 列表字典賦值的陷阱,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-01-01
  • 使用python實現(xiàn)簡單五子棋游戲

    使用python實現(xiàn)簡單五子棋游戲

    這篇文章主要為大家詳細介紹了使用python實現(xiàn)簡單五子棋游戲,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-06-06
  • 使用Flask開發(fā)RESTful?API的方法實現(xiàn)

    使用Flask開發(fā)RESTful?API的方法實現(xiàn)

    RESTful?API是一種基于REST架構風格設計的Web服務接口,本文主要介紹了使用Flask開發(fā)RESTful?API的方法實現(xiàn),具有一定的參考價值,感興趣的可以了解一下
    2023-11-11
  • selenium+headless chrome爬蟲的實現(xiàn)示例

    selenium+headless chrome爬蟲的實現(xiàn)示例

    這篇文章主要介紹了selenium+headless chrome爬蟲的實現(xiàn)示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-01-01
  • Python實現(xiàn)多態(tài)、協(xié)議和鴨子類型的代碼詳解

    Python實現(xiàn)多態(tài)、協(xié)議和鴨子類型的代碼詳解

    問起面向?qū)ο蟮娜筇匦?,幾乎每個人都能對答如流:封裝、繼承、多態(tài)。今天我們就要來說一說Python實現(xiàn)多態(tài)、協(xié)議和鴨子類型,感興趣的朋友跟隨小編一起看看吧
    2019-05-05
  • Pandas數(shù)據(jù)合并的兩種實現(xiàn)方法

    Pandas數(shù)據(jù)合并的兩種實現(xiàn)方法

    本文主要介紹了Pandas數(shù)據(jù)合并的兩種實現(xiàn)方法,DataFrame數(shù)據(jù)合并主要使用merge()方法和concat()方法,具有一定的參考價值,感興趣的可以了解一下
    2023-11-11
  • Python在游戲中的熱更新實現(xiàn)

    Python在游戲中的熱更新實現(xiàn)

    本文主要介紹了Python在游戲中的熱更新實現(xiàn),文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-10-10
  • Python根據(jù)指定文件生成XML的方法

    Python根據(jù)指定文件生成XML的方法

    這篇文章主要介紹了Python根據(jù)指定文件生成XML的方法,文中代碼非常詳細,幫助大家更好的理解和學習,感興趣的朋友可以了解下
    2020-06-06

最新評論