python 刪除列表裡所有空格項的方法

來源:互聯網
上載者:User
下面為大家分享一篇python 刪除列表裡所有空格項的方法總結,具有很好的參考價值,希望對大家有所協助。一起過來看看吧

首先,我們來隨便寫一個帶空格的列表:

list1 = ['122','2333','3444',' ','422',' ',' ','54',' ']

相信已經有人嘗試過,諸如以下的方式去刪掉空格,例如:

# -*- coding:utf-8 -*-for i in list1: if i == ' ': list1.remove(' ')print list1

但是結果你會發現是這樣的,它總是不能完全的刪完空格,會在末尾留下一個。

方法一:

這個時候,可以嘗試把‘=='改為in:

# -*- coding:utf-8 -*-for i in list1: if ' ' in list1: list1.remove(' ')print list1

之前我在網上看過用‘'join的方式,連結找不到了,這種方法它確實能刪掉帶一個長度的Null 字元串‘ ',但是對於間隔比較規律的還好,間隔不規律的就不太友好了,並且無論間隔規律與否,它都會產生0長度‘'Null 字元串的。

方法二:

方法一是後來寫這篇文章的時候測試文章最開頭那個錯誤的寫法的時候,因為記得不太清,無意中想到了in,結果發現結果是對的,我自己最先想到的方法是這樣的,先擷取空格的個數,然後遍曆,逐個刪除:

for i in range(list1.count(' ')): list1.remove(' ')

方法三:

然後用了for我就在想可不可以用while,用while怎麼寫,測試了一下發現果然可以:

while ' ' in list1: list1.remove(' ')print list1

以上是比較早寫的了,用的大多是remove,現在學了些最佳化,然後加上評論裡的提示,才發現推導式也可以,感謝了!

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.