2017-07-04 35 views
-5
apple 
mango 
banana 

tea 

coffee 

是否有人可以提出一個Python代碼以消除香蕉/茶/咖啡後,這種情況下,空行,所以實際結果應該是如下沒有任何空行在列表結束之間和之後如何從一個列表在Python刪除空行3.5

apple 
mango 
banana 
tea 
coffee 
+0

你已經顯示了一些帶有文本的行,但什麼是真正的數據結構? – Matthias

+0

你的問題不清楚。你想從字符串列表中濾除空字符串,還是在分析文件時想跳過空行? –

+0

我pread一個文件,並完成剝離和拆分,並得到一個願望清單,但空行我不想 與開放(r'C:\ Users \ test2.txt','r')作爲my_file: my_list = my_file.readlines() 用於my_list行: extracted_one = line.strip()分裂(」「)[0] 打印(extracted_one) 輸出低於與列表空行,如何能巴南/茶/咖啡行後,這個空行中刪除# 蘋果 芒果 香蕉 茶 咖啡 – PSK

回答

1

鑑於您的列表實際上是一個像您的標題建議的Python列表,您可以使用過濾器。

>>> test_list = ['apple','mango','banana','','tea','','coffee'] 
>>> test_list = list(filter(None,test_list)) 
>>> test_list 
['apple', 'mango', 'banana', 'tea', 'coffee'] 
0

LIST

list = ["apple", "mango", "banana", "", "tea", "", "coffee"] 
while "" in list: 
    del list[list.index("")] 
print(list) 

輸出:

["apple", "mango", "banana", "tea", "coffee"] 
+0

是的,這會工作,但它很醜。 – Matthias

+0

我已經使用此代碼進行了測試,但最後還是有三條空行線仍然沒有消失。 – PSK

+0

@Matthias,你可能是對的 – CunivL

1

你也可以使用列表理解:

>>> test_list = ['apple','mango','banana','','tea','','coffee'] 
>>> test_list = [item for item in test_list if item] 
>>> test_list 
>>> ['apple', 'mango', 'banana', 'tea', 'coffee'] 
0

我忘了檢查文件中最後一個字符串後的空格。在刪除空格並將光標與最後一個字符串並行後,可以解決問題。謝謝大家。

相關問題