最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時間:2015年08月04日 11:20:51   投稿:hebedich  
這里給大家通過2個例子,分析了下如何使用python刪除列表內(nèi)容,也給出了思路,分別通過pop和remove方法來實(shí)現(xiàn),有相關(guān)需求的小伙伴可以參考下。

今天有點(diǎn)囧

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é)果,如果我們不對它進(jìn)行remove的操作,是不會有問題的。完全可以歷遍。

這樣我們大概知道了,在對列表進(jìn)行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 出去

好了,今天就先到這里

相關(guān)文章

最新評論

昆山市| 黄平县| 新野县| 铜川市| 嘉禾县| 宜春市| 来安县| 南涧| 临桂县| 台安县| 汶川县| 朝阳县| 余姚市| 西乡县| 西乌珠穆沁旗| 竹山县| 安多县| 马公市| 左云县| 新沂市| 长春市| 绥滨县| 肇庆市| 绥棱县| 武安市| 贵定县| 东安县| 涿鹿县| 眉山市| 龙游县| 三江| 六盘水市| 珠海市| 博湖县| 随州市| 丹凤县| 类乌齐县| 阜康市| 永济市| 九龙县| 巴马|