python刪除列表內容

2022-10-04 22:12:21 字數 1197 閱讀 8395

今天有點囧

a=['***x_game.sql', '***x_game_sp.sql', '***x_gamelog_sp.sql', '***x_gamelog.sql']

for i in a:

if 'gamelog' in i:

a.remove(i)

print a

['***x_game.sql', '***x_game_sp.sql', '***x_gamelog.sql']

歷遍的過程中明顯miss掉了   '***x_gamelog.sql'  這個專案,大家可以自己試試,為什麼會沒刪完,這到底是什麼原因呢?

我們再驗證一次

for i in a:

if 'gamelog' in i:

print i,

***x_gamelog_sp.sql ***x_gamelog.sql

看到結果,如果我們不對它進行remove的操作,是不會有問題的。完全可以歷遍。

這樣我們大概知道了,在對列表進行remove操作的時候,用歷遍的方法是不行的。那如何解決?

a1=a[::] #這裡我們映象乙個列表a1,但是千萬別用a1=a,為什麼,我們可以測試下 a1=a[::] a1==a true; a1 is a false; 如果用a1=a a1==a pkiuvubhlstrue; a1 is a truepkiuvubhls,下來大家可以測試下,這個是列表的乙個特性。

for i in a1:

if 'gamelog' in i:

a.remove(i)

print a

['***x_game.sql', '***x_game_sp.sql']

再來乙個例子

[  ]

因為有'張三',所以刪除 整一行,怎麼操作

思路是找到要刪除的元素在列表中的索引,然後呼叫 pop,索引作為引數。pop 返回被刪除的元素。佇列剩下的就是刪除該索引元素之後的剩餘的。

lname = [ ]

for x in range(len(lname)): #列表遍歷

if l[x]['name'] == u'張三':

lname.pop(x) #用 pop。

break #操作完成,break 出去

好了,今天就先到這裡

本文標題: python刪除列表內容

本文位址:

python刪除列表內容 python刪除列表內容

今天有點囧 歷遍的過程中明顯miss掉了 x gamelog.sql 這個專案,大家可以自己試試,為什麼會沒刪完,這到底是什麼原因呢?我們再驗證一次 看到結果,如果我們不對它進行remove的操作,是不會有問題的。完全可以歷遍。這樣我們大概知道了,在對列表進行remove操作的時候,用歷遍的方法是不...

python刪除列表元素 Python列表元素分組

比如列表 0,0,0,1,1,2,3,3,3,2,3,3,0,0 分割成 0,0,0 1,1 2 3,3,3 2 3,3 0,0 如何解決這樣的問題呢?1 首先說明,如果這樣的題目都不能寫出 原因在基本的迴圈判斷沒有搞清楚。2 黃哥在如何訓練自己的程式設計思路 文章所說的,做習題,要像開發專案的流程...

Python 列表迴圈刪除

列表迴圈刪除中,第一次很容易採坑 如下面案例,我們想把列表中 2全部刪除 alist 1 2,3 1,2 2,3 4 for i in alist if i 2 alist.remove i print alist 我們希望得到 1,3,1,3,4 結果 1,3,1,2,3,4,有乙個2漏掉了 fo...