當前位置:首頁 » 編程語言 » python清空列表

python清空列表

發布時間: 2022-12-19 22:10:31

python中del 語句的用法

python的del不同於C的free和C++的delete。

由於python都是引用,而python有GC機制,所以,del語句作用在變數上,而不是數據對象上。

㈡ 如何把列表外的列表移除python

python的列表list可以用for循環進行遍歷,實際開發中發現一個問題,就是遍歷的時候刪除會出錯,例如
l = [1,2,3,4]
for i in l:
if i != 4:
l.remove(i)
print l
這幾句話本來意圖是想清空列表l,只留元素4,但是實際跑起來並不是那個結果。再看下面,利用index來遍歷刪除列表l

l = [1, 2, 3, 4]
for i in range(len(l)):
if l[i] == 4:
del l[i]

print l
這樣沒問題,可以遍歷刪除,但是列表l如果變為 l = [1,2,3,4,5]
如果還是按照上面的方法,設想一下,range開始的范圍是0-4,中間遍歷的時候刪除了一個元素4,這個時候列表變成了= [1,2,3,5],這時候就會報錯了,提示下標超出了數組的表示,原因就是上面說的遍歷的時候刪除了元素

所以python的list在遍歷的時候刪除元素一定要小心

可以使用filter過濾返回新的list

l = [1,2,3,4]
l = filter(lambda x:x !=4,l)
print l

這樣可以安全刪除l中值為4的元素了,filter要求兩個參數,第一個是規則函數,第二個參數要求輸入序列,而lambda這個函數的作用就是產生一個函數,是一種緊湊小函數的寫法,一般簡單的函數可以這么些

或者可以這樣
l = [1,2,3,4]
l = [ i for i in l if i !=4]//同樣產生一個新序列,復值給l
print l

或者乾脆建立新的list存放要刪除的元素
l = [1,2,3,4]
dellist = []
for i in l:
if i == 4:
dellist.append(i)
for i in dellist:
l.remove(i)
這樣也能安全刪除元素
所以要遍歷的時候刪除元素一定要小心,特別是有些操作並不報錯,但卻沒有達到預期的效果

上面說到產生新序列,賦值等等,用python的id()這個內置函數來看對象的id,可以理解為內存中的地址,所以有個簡要說明
如果
l = [1,2,3,4]
ll = l
l.remove(1)
print l//肯定是[2,3,4]
print ll//這里會是什麼?
如果用id函數查看的話就發現
print id(l),id(ll)
列印出相同的號碼,說明他們其實是一個值,也就是說上面的print ll將和l列印的一樣,所以python有這種性質,用的時候注意一下就行了

㈢ Python如何刪除列表的值:如:a=[1,2,1,3,1,1] 刪除全部1的值,一個都不留

a=[1,2,1,3,1,1]
a=[iforiinaifa!=1]

㈣ python列表的特點

列表的特點

1.list(列表)是python中使用最頻繁的數據類型,在其他的語言中通常叫做數組

2.專門用於存儲一串信息

3.列表用[]定義,列表中的數據用「,」分割

4.列表的索引是從0開始

列表的操作

假設列表名為list

㈤ python基礎之序列類型的方法——列表&元組

首先登場的選手是python的列表,列表屬於可變類型,所以它將有完整的增刪改查方法,讓我們一起來看看具體是什麼。

增,顧名思意就是可以對列表進行新增元素的操作,python的列表提供了三種新增元素的操作,分別是:append() ,insert(), extend()

首先是append(),它可以將一個元素追加到列表的末尾。
舉個栗子:

上述代碼中,我們使用的是li.append('新增內容')的方式來為列表添加元素
li.append()使列表li調用自身的方法append(),這樣就可以在列表的末尾添加一個新的元素。

接下來是insert(),append()是排隊,那insert()就是插隊的意思啦,它可以將一個元素插入到列表的自定位置:
li.insert(索引,元素)

這樣就將字元串helloworld插入到了列表的第四個位置里。

上面兩個方法是對單個元素進行增加,如果我們需要增加多個元素怎麼辦?
那就可以使用我們的extend()來進行添加,extend()可以將序列中的每個元素添加到末尾:

上面的代碼先定義了兩個列表l1和l2,然後使用l1.extend(l2),將l2的每個元素添加到了l1的末尾。

增加講完了,接下來進行刪除操作,刪除也有對應的四個方法:del(),pop(),remove(),clear()

del()是單獨的方法,不需要通過列表本身來進行調用,可以直接使用:

上述代碼刪除了li[0],但是請注意,如果不進行索引的話,默認會將這個變數刪除,請謹慎使用:

這就是刪除了整個變數,再列印這個變數時就會提示變數未定義

pop()方法不帶參數的話刪除默認刪除最後一個元素,帶參數的話則刪除指定的下標值:

pop()還有個神奇的地方,它可以讓你需要刪除的參數取出來繼續使用,使用完了再進行刪除:

上述代碼使用pop()刪除了第一個元素,然後使用第一個元素進行了一個簡單的判斷,說明pop()可以為我們返回刪除的元素,讓我們先使用,使用完再刪除

remove()用來刪除一個指定元素,無返回值,無法使用下標刪除:

上述代碼使用remove()刪除了一個元素l

clear()用於清空列表,與del不同的是,它會為我們保留空列表,而不會把變數都刪除:

上述代碼清除了列表後,保留了空列表

改的方法就比較簡單,直接索引出下標重新賦值即可:

這里就對li[0]進行了重新賦值

有通過index查詢指定元素返回對應下標,也可以使用count來計算該元素出現過的次數:

除了增刪改查,列表中還有其他的方法復制()、倒敘排列reverse()、從小到大排列sort()

使用li.(),再用一個變數接收復制的列表,就可以實現復制出一個新的列表來

sort()方法可以將數字類型的進行從小到大的排列,一般也用於同類型的排列

元組作為不可變類型,只能查和刪,如果需要其他操作需要轉換成列表

只能刪除整個元組,無法使用下標值,刪除後再使用會提示沒有定義變數

元組只有查和刪的方法,如果需要修改應先轉成列表修改再轉回元組,但是不建議這么做,因為修改過的元組就已經不是原來的那個元組了,而且設置元組也是為了這組數據不希望受到修改

以上就是關於列表&元組的方法了,有興趣的小夥伴可以自己嘗試一下。
如果有哪些錯誤或者不好的地方,還請各位大佬指出來,我會虛心接受並修改錯誤,謝謝!

㈥ python字典轉換為list後選中最後一個值

設為星標,第一時間獲取更多干貨

在python中,數據類型主要由以下幾類組成:

列表(list): [a, b]

元組(tuple):(a, b, )

集合(set): {a, b}

字典(Dictonary): {a: 『aaa』, b: 『bbb』}

1. 列表

列表(List)

列表是Python中使用最頻繁的數據類型,專門用於存儲一串信息

列表是一種有序和可更改的集合。允許重復的元素

列表使用[]定義,元素之間使用,分隔。例:[1,2, ...]

列表的索引從位置0開始

索引就是元素在列表中的位置編號,索引又可以被稱為下標

注意:從列表中取值時,如果超過索引范圍,程序會報錯

雖然列表可以存儲不同類型元素,但是曰常中一般存儲相同類型的元素

如何使用列表

列表[索引]: 從列表中取值,獲取指定索引的元素

列表[開始索引:結束索引:步長]:

返回從開始索引到結束索引-1的列表,如果設置步長,按步長跳過元素

len(列表): 獲取列表的長度

元素 in 列表: 判斷元素是否在列表中

列表.count(元素): 返回指定元素在列表中的個數

列表.index(元素): 返回指定元素在列表中第一次出現的索引,查找失敗時報錯

列表.sort(): 從小到大排序,括弧內增加reverse=True ,則是從大到小排序

列表_reverse(): 逆序(反轉)列表

列表.clear(): 清空列表

Eg:

# 0 init listL = [1, 2, 3, 4, 5, 7, 6]# 1 index valueL[1] # --> 2# 2 stepL[2: 5: 2] # --> [3, 5]# 3 lengthlen(L) # --> 6# 4 in6 in L # ---> True8 in L # ---> False# 5 countL.count(1) # ---> 1# 6 indexL.index(2) # ---> 1# 7 sortL.sort() # ---> [1, 2, 3, 4, 5, 6, 7] 注意:會改變自己 返回None # 8 reverseL.reverse() # 由於第7步改變了自己, 這里變成[7, 6, 5, 4, 3, 2, 1] 會改變自己 返回None # 9. clearL.clear() # ---> []
列表特有的一些使用方法

L = [1, 2, 3, 4, 5]
列表[索引]=元素:修改指定索引的元素,索引不存在會報錯

L[2] = 7 L # ---> [1, 2, 7, 4, 5]
列表 . append(元素):在列表的末尾追加元素

L.append(6)L # ---> [1, 2, 7, 4, 5, 6]
列表 . insert(索引,元素):在指定索引位置插入元素,索引不存在時在末尾追加

L.insert(3, 9)L # ---> [1, 2, 7, 4, 9, 5, 6]
列表.pop(索引):

刪除並返回指定索引的元素,未指定索引時刪除最後一項,索引不存在時報錯

L.pop(3) # 4, L 變成[1, 2, 7, 9, 5, 6]L.pop() # 6, L 變成[1, 2, 7, 9, 5]
列表 . remove(元素):刪除列表中第一個出現的指定元素,查找失敗時報錯

L.remove(2) # L 變成[1, 7, 9, 5]
del 列表[索引]: 刪除指定索引位置的元素,索引不存在時報錯

del L[3] # L 變成[1, 7, 9]
列表l.extend(列表2): 將列表2拼接在列表1後

L.extend([8, 9, 10]) L # L 變成[1, 7, 9, 8, 9, 10], 等價於 L = L + [8, 9, 10]
2. 元組

元組(Tuple)

元組是一種有序且不可更改的集合, 允許重復的成員

元組與列表的類似,不同之處在於元組元素不可修改

元組使用()定義,元素之間使用,分隔。例:(a, b, …)

元組中只包含一個元素時,可以省略(),只需要在元素後加逗號

init_tuple = 100,type(init_tuple) # ---> tuple# ---- 另外寫法init_tuple = (100, ) # 逗號一定要加
注意:如果一個非元組類型的數據突然變成元組,檢查是不是誤加了逗號

集合與元組的通用方法

元組[索引]:從元組中取值,獲取指定索弓丨的元素

元組[開始索引:結束索引:步長]:

返回從開始索引到結束索引-1的元組,如果設置步長,按步長跳過元素

len(元組):獲取元組的長度

元素in元組:判斷元素是否在元組中

元組.count(元素):返回指定元素在元組中的個數

元組.index(元素):返回指定元素在元組中第一次出現的索引,查找失敗會報錯

元組和列表之間的轉換

list(元組):將元組轉換成列表

tuple(列表): 將列表轉換成元組

3. 集合

集合(Set)

集合是一種無序和無索引的序列。沒有重復的元素

集合會自動刪除重復的元素,一般應用於去重、交並差運算場景

集合使用{}定義,元素之間使用,分隔。例:{a, b, …}

集合與列表的通用方法

len(集合):獲取集合的長度

元素in集合:判斷元素是否在集合中

集合.clear(): 清空集合

集合特有的使用方法

s = {1, 2, 3}

集合.add(元素):將元素添加到集合中

s.add(5) # ---> {1, 2, 3, 5}
集合1.update(集合2): 添加新的元素或集合到當前集合中

s.add{4, 5, 6} # ---> {1, 2, 3, 5, 4, 6}
集合.remove(元素): 刪除指定的元素,元素不存在時報錯

s.remove(4) # ----> {1, 2, 3, 5, 6}
集合1&集合2 : 交集,獲得由集合1和集合2中都存在的元素組成的新集合

s & {3, 4, 5} # ---> {3, 5}
集合1|集合2: 並集,獲得集合1和集合2中所有元素的新集合

s | {8, 9, 10} # ---> {1, 2, 3, 5, 6, 8, 9, 10}
集合1 - 集合2 : 差集,獲得在集合1中存在但是在集合2中不存在的元素集合

s - {9, 10} # ---> {1, 2, 3, 5, 6, 8}
集合和列表之間的轉換(也可以和元組進行轉換,方式類似)

list(集合):將集合轉換成列表

set(列表):將列表轉換成集合

㈦ python中如何刪除列表中的所有元素

a=[1,2,3]
a.clear()

㈧ python--set(集合)

一、創建集合

創建非空集合:集合中set括弧中需要的參數的數據類型有:序列(包括字元串、列表、元組),字典可以轉為集合,注意數值類型不能作為集合的參數,如int類型。

二、添加元素

add() 方法是將要添加的元素作為一個整體添加到集合中

update() 方法是把要傳入的元素拆分成單個字元,存於集合中,並去掉重復的

三、刪除元素

集合的刪除操作使用的方法跟列表是一樣的,使用的也是 remove 方法,只能單個刪除

四、遍歷集合

五、集合與字元串、列表、元組互轉,集合轉字典

六、查找元素並刪除

函數原型: a.discard(b)

參數說明:a為一個set類型的變數;b表示要查找並刪除的元素

函數作用:在集合setVar中查找element元素,如果存在則刪除;如果沒找到,則什麼也不做。該函數沒有返回值

七、pop用法

函數原型: set1.pop()     刪除並返回集合set1中的第一個元素,如果為空引發KeyError錯誤+

八、clear、和len的用法

clear     方法用於清空集合中的所有元素

    方法用於集合拷貝

len     跟求序列的長度的函數len()是一樣的,返回的是集合中有多少個元素

九、求集合的交集、並集、差集和difference的用法

求集合的 交集 使用的符號是 「&」

求集合的 並集 用的是符號 「|」

求集合的 差集 使用的符號是減號 「-」

difference    等價於集合的差集 ,查看兩個集合的不同之處。這種不同指的是集合s1相對於集合s2,不同的地方,也就是所有在集合s1中,而不再集合s2中的的元素組成的新集合

十、運算符判斷集合間關系和issuperset、issubset的用法

集合可以使用大於(>)、小於(<)、大於等於(>=)、小於等於(<=)、等於(==)、不等於(!=)來判斷某個集合是否完全包含於另一個集合,也可以使用子父集判斷函數。

issuperset     集合st1是否是集合st2的父集

issubset     集合st1是否是集合st2的子集

十一、不可變集合frozenset的用法

frozenset     該集合中的內容是不可改變的,其他功能及操作跟可變集合set一樣

㈨ Python基礎實戰之集合元素的添加和刪除

集合元素的添加操作有兩種方法:

1、調用add()方法,一次添加一個元素

2、調用update()方法,至少添加一個元素

------------------------------

s={10,20,40,80}

s.add(30) #一次添加一個元素

print(s) #{10,30,20,40,80}

s.updae({200,300,400}) #一次至少添加一個元素

print(s) #{200,10,300,20,400,30,80,40}

s.update([800,900]) #可以添加列表

s.update((45,55)) #可以添加元組

print(s) #{200,5510,45,300,800,20,900,400,30,80,40}

------------------------------

集合元素的刪除操作

1、調用remove()方法,一次刪除一個指定元素,如果指定的元素不存在拋出KeyError

2、調用discard()方法,一次刪除一個指定元素,如果指定的元素不存在不拋異常

3、調用pop()方法,一次只刪除一個任意元素

4、調用clear()方法,清空集合

------------------------------

s.remove(200) #一次刪除一個指定元素,如果指定的元素不存在拋出KeyError

print(s) #{55,10,45,300,800,20,900,400,30,80,40}

s.discard(900) #一次刪除一個指定元素,如果指定的元素不存在不拋異常

print(s) #{55,10,45,300,800,20,400,30,80,40}

s.pop() #刪除誰不知道,任意一個元素

print(s) #{55,10,45,800,20,400,30,80,40}

s.clear() #清空集合中的所有元素

print(s) #set()

㈩ Python del 語句的用法是什麼樣

5.2. del 語句
有個方法可以從列表中按給定的索引而不是值來刪除一個子項: del 語句。它不同於有返回值的 pop() 方法。語句 del 還可以從列表中刪除切片或清空整個列表(我們以前介紹過一個方法是將空列表賦值給列表的切片)。例如:
>>> a = [-1, 1, 66.25, 333, 333, 1234.5]
>>> del a[0]
>>> a
[1, 66.25, 333, 333, 1234.5]
>>> del a[2:4]
>>> a
[1, 66.25, 1234.5]
>>> del a[:]
>>> a
[]
del 也可以刪除整個變數:
>>> del a
此後再引用命名 a 會引發錯誤(直到另一個值賦給它為止)。我們在後面的內容中可以看到 del 的其它用法。

熱點內容
網易雲上傳歌詞手機 發布:2025-01-28 03:42:51 瀏覽:61
m3u8緩存文件 發布:2025-01-28 03:42:51 瀏覽:547
編程算損耗 發布:2025-01-28 03:33:03 瀏覽:456
sql存儲過程返回多個結果 發布:2025-01-28 03:24:03 瀏覽:463
長安歐尚科賽哪個配置值得購買 發布:2025-01-28 03:19:35 瀏覽:116
c全排列演算法 發布:2025-01-28 03:18:16 瀏覽:754
梵蒂岡頂級時裝ftp 發布:2025-01-28 03:03:36 瀏覽:695
手游腳本有前途嗎 發布:2025-01-28 02:46:55 瀏覽:379
抓包編程 發布:2025-01-28 02:42:41 瀏覽:930
安卓平板上怎麼設置熱點 發布:2025-01-28 02:36:33 瀏覽:718