當前位置:首頁 » 編程語言 » python去除空list

python去除空list

發布時間: 2022-08-23 13:04:09

1. 如何把列表外的列表移除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有這種性質,用的時候注意一下就行了

2. python list的元素怎麼去

Python刪除列表元素

使用del 語句來刪除列表的的元素,如:
list1 = ['physics', 'chemistry', 1997, 2000];
del list1[2];
print list1;
*輸出結果
['physics', 'chemistry', 2000]

3. python list 怎麼刪除

>>>l=[1,2,3,4,5]
>>>del(l[1])
>>>l
[1,3,4,5]

del刪除某個list元素

>>>l.clear()
>>>l
[]

直接用clear清空

4. python幾種去掉字元串中間空格的方法

一、strip()方法:去除字元串開頭或結尾的空格
>>> a = " a b c "
>>> a.strip()
'a b c'
二、lstrip()方法:去除字元串開頭的空格
>>> a = " a b c "
>>> a.lstrip()
'a b c '
三、rstrip()方法:去除字元串結尾的空格
>>> a = " a b c "
>>> a.rstrip()
' a b c'
四、replace()方法:可以去除全部空格,主要用於字元串的替換
>>> a = " a b c "
>>> a.replace(" ", "")
'abc'
五、join()方法+split()方法:可以去除全部空格,join為字元串合成傳入一個字元串列表,split用於字元串分割,可以按規則進行分割。
>>> a = " a b c "
>>> b = a.split() # 字元串按空格分割成列表
>>> b ['a', 'b', 'c']
>>> c = "".join(b) # 使用一個空字元串合成列表內容生成新的字元串
>>> c 'abc'
# 快捷用法
>>> a = " a b c "
>>> "".join(a.split())
'abc'

5. python怎麼除去列表中的空字元

>>> a1=[10,2,'','']
>>> a1.remove('')
>>> a1
[10, 2, '']
>>> a1.remove('')
>>> a1
[10, 2]

6. python中二維列表能刪除為空的元素嗎

oldlist=[[1,1,1,1,1],[1,1,1,1,2],[2,2,2,2,4,4],[8,8,8,8,8],[16,16],[],[],[]]
newlist=[xforxinoldlistifx]#刪除空列表[]
coutlist=[x.count(2)forxinnewlist]#計運算元列表中2的個數

7. Python list=[[],[],[],[1],[2],[3]]是怎麼刪除空直

因為對原列表刪改的時候,len(list)是實時變化的,且remove、pop那些函數只能刪除第一個遇到的符合條件的元素,且你的要求是只刪除空元素,而對其他如果有重復的元素不進行修改,所以也不能用元組set.
那我有兩個方法,第一個是記錄list中[]出現的位置,之後按照反向的順序依次remove掉,這樣就不會因為列表長度在變化而刪錯元素;
第二個是直接刪除空元素,但記錄list長度的實時變化,當list長度不再變化,則list中的空元素都已經刪完了。

8. 怎樣去掉重復的list python

參考如下:
import
a = [{'a':12,'b':21},{'a':13,'b':22},{'a':14,'b':22},{'a':15,'b':23},{'a':16,'b':22}]
d = {}
for i in a:
d.setdefault(i['b'], 0)
d[i['b']] += 1
at = .(a)
for i in at:
if d[i['b']] > 1:
a.remove(i)
print a
先把b值統計一下。然後再一個比對,如果統計個數大於1,就從列表中移出。

9. python list 怎麼去除空的list

假設你要處理的列表是lst,代碼如下:

L=[xforxinlstifx]

L就是你要的

10. python如何刪除list里重復的元素

一共使用四種方法來去除列表中的重復元素,下面是具體實現:

def f1(seq):

# not order preserving

set = {}

map(set.__setitem__, seq, [])

return set.keys()

def f2(seq):

# order preserving

checked = []

for e in seq:

if e not in checked:

checked.append(e)

return checked

def f3(seq):

# Not order preserving

keys = {}

for e in seq:

keys[e] = 1

return keys.keys()

def f4(seq):

# order preserving

noDupes = []

[noDupes.append(i) for i in seq if not noDupes.count(i)]

return noDupes

def f5(seq, idfun=None):

# order preserving

if idfun is None:

def idfun(x): return x

seen = {}

result = []

for item in seq:

marker = idfun(item)

# in old Python versions:

# if seen.has_key(marker)

# but in new ones:

if marker in seen: continue

seen[marker] = 1

result.append(item)

return result

def f6(seq):

# Not order preserving

set = Set(seq)

return list(set)

熱點內容
魅族微信多開安卓怎麼弄 發布:2025-01-18 10:04:33 瀏覽:448
網路設置里沒有伺服器是什麼 發布:2025-01-18 09:52:19 瀏覽:343
阿里雲esc伺服器系統 發布:2025-01-18 09:49:16 瀏覽:790
你們家的無線網密碼是多少 發布:2025-01-18 09:47:50 瀏覽:730
renderscriptandroid 發布:2025-01-18 09:32:18 瀏覽:993
安卓手機如何拍游戲素材 發布:2025-01-18 09:30:59 瀏覽:348
廣州日立壓縮機有限公司 發布:2025-01-18 09:15:08 瀏覽:624
伺服器兩條寬頻如何疊加網速 發布:2025-01-18 08:52:17 瀏覽:731
oracle存儲過程集合 發布:2025-01-18 08:42:39 瀏覽:885
洋蔥數學緩存 發布:2025-01-18 08:38:36 瀏覽:919