最新文章專題視頻專題問答1問答10問答100問答1000問答2000關(guān)鍵字專題1關(guān)鍵字專題50關(guān)鍵字專題500關(guān)鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專題關(guān)鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
當(dāng)前位置: 首頁 - 科技 - 知識百科 - 正文

python刪除列表內(nèi)容

來源:懂視網(wǎng) 責(zé)編:小采 時間:2020-11-27 14:34:40
文檔

python刪除列表內(nèi)容

python刪除列表內(nèi)容:今天有點囧 a=['XXXX_game.sql', 'XXXX_game_sp.sql', 'XXXX_gamelog_sp.sql', 'XXXX_gamelog.sql'] for i in a: if 'gamelog' in i: a.remove(i) print a ['XXXX_game.sql', 'XXXX_game_sp.sql
推薦度:
導(dǎo)讀python刪除列表內(nèi)容:今天有點囧 a=['XXXX_game.sql', 'XXXX_game_sp.sql', 'XXXX_gamelog_sp.sql', 'XXXX_gamelog.sql'] for i in a: if 'gamelog' in i: a.remove(i) print a ['XXXX_game.sql', 'XXXX_game_sp.sql

今天有點囧

a=['XXXX_game.sql', 'XXXX_game_sp.sql', 'XXXX_gamelog_sp.sql', 'XXXX_gamelog.sql']
for i in a:
 if 'gamelog' in i:
 a.remove(i)
print a
['XXXX_game.sql', 'XXXX_game_sp.sql', 'XXXX_gamelog.sql']

歷遍的過程中明顯MISS掉了 'XXXX_gamelog.sql' 這個項目,大家可以自己試試,為什么會沒刪完,這到底是什么原因呢?

我們再驗證一次

for i in a:
 if 'gamelog' in i:
 print i,
 
XXXX_gamelog_sp.sql XXXX_gamelog.sql

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

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

a1=a[::] #這里我們鏡像一個列表a1,但是千萬別用a1=a,為什么,我們可以測試下 a1=a[::] a1==a True; a1 is a False; 如果用a1=a a1==a True; a1 is a True,下來大家可以測試下,這個是列表的一個特性。
for i in a1:
 if 'gamelog' in i:
 a.remove(i)
print a
 
['XXXX_game.sql', 'XXXX_game_sp.sql']

再來一個例子

[ { 'Num': '001', 'Name': '張三', 'Workingtime': 'Monday', 'Money': '100' }
{ 'Num': '002', 'Name': '李四', 'Workingtime': 'Tuesday', 'Money': '200' }]
因為有'張三',所以刪除 { 'Num': '001', 'Name': '張三', 'Workingtime': 'Monday', 'Money': '100'}整一行,怎么操作

思路是找到要刪除的元素在列表中的索引,然后調(diào)用 pop,索引作為參數(shù)。pop 返回被刪除的元素。隊列剩下的就是刪除該索引元素之后的剩余的。

lname = [ { 'Num': '001', 'Name': '張三', 'Workingtime': 'Monday', 'Money': '100' } { 'Num': '002', 'Name': '李四', 'Workingtime': 'Tuesday', 'Money': '200' }]
for x in range(len(lname)): #列表遍歷 
 if l[x]['name'] == u'張三': 
 lname.pop(x) #用 pop。
 break #操作完成,break 出去

好了,今天就先到這里

聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文檔

python刪除列表內(nèi)容

python刪除列表內(nèi)容:今天有點囧 a=['XXXX_game.sql', 'XXXX_game_sp.sql', 'XXXX_gamelog_sp.sql', 'XXXX_gamelog.sql'] for i in a: if 'gamelog' in i: a.remove(i) print a ['XXXX_game.sql', 'XXXX_game_sp.sql
推薦度:
  • 熱門焦點

最新推薦

猜你喜歡

熱門推薦

專題
Top