目录1.利用过滤器筛选空内容(推荐——删除指定元素【含删除空内容】)2.利用列表生成式(推荐——删除指定元素【含删除空内容】)3.利用计数器和remove删除(不推荐——删除指定元素【含删除空内容】)看看下述代码:celebrities=['','陈凯歌','','徐克','林超贤','','','吴京#伍千里','易烊千玺#伍万里','段奕宏#谈子为','','朱亚文#梅生','','李晨#余从戎','胡军#雷公','韩东君#平河','','','张涵予#宋时轮','','黄轩#毛岸英']print(celebrities)12输出:['','陈凯歌','','徐克','林超贤','','','吴京#伍千里','易烊千玺#伍万里','段奕宏#谈子为','','朱亚文#梅生','','李晨#余从戎','胡军#雷公','韩东君#平河','','','张涵予#宋时轮','','黄轩#毛岸英']1当你遇见这种情况,有哪些方法来去除里面的空内容呢(即'')?1.利用过滤器筛选空内容(推荐——删除指定元素【含删除空内容】)1.1删除空内容(方法一):celebrities=['','陈凯歌','','徐克','林超贤','','','吴京#伍千里','易烊千玺#伍万里','段奕宏#谈子为','','朱亚文#梅生','','李晨#余从戎','胡军#雷公','韩东君#平河','','','张涵予#宋时轮','','黄轩#毛岸英']print(list(filter(None,celebrities)))123输出:['陈凯歌','徐克','林超贤','吴京#伍千里','易烊千玺#伍万里','段奕宏#谈子为','朱亚文#梅生','李晨#余从戎','胡军#雷公','韩东君#平河','张涵予#宋时轮','黄轩#毛岸英']11.2删除空内容(方法二):需要配合lambda表达式一起使用!celebrities=['','陈凯歌','','徐克','林超贤','','','吴京#伍千里','易烊千玺#伍万里','段奕宏#谈子为','','朱亚文#梅生','','李晨#余从戎','胡军#雷公','韩东君#平河','','','张涵予#宋时轮','','黄轩#毛岸英']print(list(filter(lambdax:x!='',celebrities)))123输出:['陈凯歌','徐克','林超贤','吴京#伍千里','易烊千玺#伍万里','段奕宏#谈子为','朱亚文#梅生','李晨#余从戎','胡军#雷公','韩东君#平河','张涵予#宋时轮','黄轩#毛岸英']12.3删除指定内容:letters=['a','b','c','a','b','a','a','d']print(f'原列表内容:{letters}')print('删除元素a:',list(filter(lambdax:x!='a',letters)))123输出:原列表内容:['a','b','c','a','b','a','a','d']删除元素a:['b','c','b','d']12注:此方法既可以删除空元素,也可以删除指定元素~2.利用列表生成式(推荐——删除指定元素【含删除空内容】)2.1删除空内容(方法一):celebrities=['','陈凯歌','','徐克','林超贤','','','吴京#伍千里','易烊千玺#伍万里','段奕宏#谈子为','','朱亚文#梅生','','李晨#余从戎','胡军#雷公','韩东君#平河','','','张涵予#宋时轮','','黄轩#毛岸英']print([celebrityforcelebrityincelebritiesifcelebrity])123输出:['陈凯歌','徐克','林超贤','吴京#伍千里','易烊千玺#伍万里','段奕宏#谈子为','朱亚文#梅生','李晨#余从戎','胡军#雷公','韩东君#平河','张涵予#宋时轮','黄轩#毛岸英']12.2删除空内容(方法二):celebrities=['','陈凯歌','','徐克','林超贤','','','吴京#伍千里','易烊千玺#伍万里','段奕宏#谈子为','','朱亚文#梅生','','李晨#余从戎','胡军#雷公','韩东君#平河','','','张涵予#宋时轮','','黄轩#毛岸英']print([celebrityforcelebrityincelebritiesifcelebrity!=''])123输出:['陈凯歌','徐克','林超贤','吴京#伍千里','易烊千玺#伍万里','段奕宏#谈子为','朱亚文#梅生','李晨#余从戎','胡军#雷公','韩东君#平河','张涵予#宋时轮','黄轩#毛岸英']12.3删除指定内容:letters=['a','b','c','a','b','a','a','d']print(f'原列表内容:{letters}')print('删除元素a:',[letterforletterinlettersifletter!='a'])123输出:原列表内容:['a','b','c','a','b','a','a','d']删除元素a:['b','c','b','d']12注:此方法既可以删除空元素,也可以删除指定元素~3.利用计数器和remove删除(不推荐——删除指定元素【含删除空内容】)3.1删除空内容:#(Counter返回的是一个字典)fromcollectionsimportCountercelebrities=['','陈凯歌','','徐克','林超贤','','','吴京#伍千里','易烊千玺#伍万里','段奕宏#谈子为','','朱亚文#梅生','','李晨#余从戎','胡军#雷公','韩东君#平河','','','张涵予#宋时轮','','黄轩#毛岸英']num=Counter(celebrities)['']#计算celebrities中空内容的个数foriinrange(num):celebrities.remove('')#一次remove只能删除一个值print(celebrities)123456789输出:['陈凯歌','徐克','林超贤','吴京#伍千里','易烊千玺#伍万里','段奕宏#谈子为','朱亚文#梅生','李晨#余从戎','胡军#雷公','韩东君#平河','张涵予#宋时轮','黄轩#毛岸英']13.2删除指定内容:fromcollectionsimportCounterletters=['a','b','c','a','b','a','a','d']num=Counter(letters)['a']#计算letters中元素a的个数foriinrange(num):letters.remove('a')#一次remove只能删除一个值print(letters)1234567输出:原列表内容:['a','b','c','a','b','a','a','d']删除元素a:['b','c','b','d']12注:此方法既可以删除空元素,也可以删除指定元素~
|