python實現刪除列表中空字符串元素的兩種方法
python 列表元素中有以下 3 種情況,可認為列表中存在有空字符串元素
1、元素內容是空字符串('')
2、元素內容全是空格(' ')
3、元素內容全是\n(換行符)、\t(制表符)、\r(回車)等,這種情況多見于爬蟲網頁文本提取。
如,以下a_list列表:
a_list = ['a', '', ' ', 'b', '', '\n\t', '\r', '']
實際運用中,列表中這些為空字符串的元素可能是不需要的,要對它進行刪除處理。
常見刪除處理方法有以下2種:
1、remove()方法
remove() 方法,刪除首次出現的指定元素,如果列表中不存在要刪除的元素,則拋出異常。
語法:list.remove(obj),obj指定刪除的元素。
實例:刪除為''的元素
a_list = ['a', '', ' ', 'b', '', '\n\t', '\r', ''] while '' in a_list: a_list.remove('') print("刪除為''的元素后:\n", a_list)
注:要刪除' '、'\n\t'、'\r',只需要把 obj 改成相應內容即可。
這種方法需要指定具體的元素,一次只能指定一個,可用性不是很高,有時可能不知道列表中會出現哪些空字符串情況,或者空字符串的空格有很多個,一個一個去指定刪除會比較麻煩。
2、列表推導式法
(1)列表推導式,使用判斷語句,可以實現跟 remove() 方法一樣的效果;
(2)列表推導式,使用判斷語句結合 strip() 方法,可以較為高效的一次刪除列表中各類空字符串。
刪除空字符串元素,用法如下:
a_list = ['a', '', ' ', 'b', '', '\n\t', '\r', ''] b_list = [i for i in a_list if i != ''] # 只去掉'' c_list = [i for i in a_list if i.strip() != ''] # 去掉''、空格、\n\t\r元素 print("只刪除為''的元素:\n", b_list) print("3種空字符串元素一次性全刪除:\n", c_list)
以上就是刪除 python 列表空字符串元素的方法,常用第二種。更多相關python 刪除列表中空字符串元素內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
詳解Python 中sys.stdin.readline()的用法
這篇文章主要介紹了Python 中sys.stdin.readline()的用法,本文通過實例代碼給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下2019-09-09