如下所示:
# x = ['c b a',"e d f"] # y = [] # for i in x: # for ii in i: # # print(ii) # if ii == ' ': # pass # else: # y.append(ii) # print(y)
# python 清除列表中的空字符
# list1 = ['122','2333','3444',' ','422',' ',' ','54',' '] # 第一種方法會導(dǎo)致最后一個' '沒有被移除掉['122', '2333', '3444', '422', '54', ' '] # for x in list1: # if x == ' ': # list1.remove(' ') # print(list1) # 第二種方法:['122', '2333', '3444', '422', '54'] # for x in list1: # if ' ' in list1: # list1.remove(' ') # print(list1) # 第三種方法:遍歷空格的個數(shù),然后逐個刪除 # for x in range(list1.count(' ')): # list1.remove(' ') # print(list1) # 第四種方法:用了while和for一樣 # while ' ' in list1: # list1.remove(' ') # print(list1)
# 去除字符串中間的空格
# 第一種方法:使用replace,但是這種方法很笨,如果字符串中間有一萬個空格怎么辦,也要全部打出來嗎 # a = 'hello world' # b = a.replace(' ','') # print(b) # 第二種方法: # a = 'hello world' # a = list(a) # for x in a: # if ' ' in a: # a.remove(' ') # bb = ''.join(a) # print(bb) # a = 'hello wor ld' # # aa = a.split() # # print(aa) # # print(''.join(aa)) # print(''.join(a.split())) # list1 = ['122','2333','3444',' ','422',' ',' ','54',' '] # for x in list1: # for i,j in enumerate(list1): # print(i,j) # if x == ' ': # list1.remove(' ') # print(list1) # print('***************************************') # print(list1)
# 去除列表中的重復(fù)元素
# 方法一: 對列表進行怕羞,從頭到尾進行比較,遇到重復(fù)的元素就刪除,否則指針向右移動一位 #方法1,邏輯復(fù)雜,臨時變量保存值消耗內(nèi)存,返回結(jié)果破壞了原列表順序,效率最差 # def deleteDuplicatedElement(l): # l.sort() # length = len(l) # firstItem = l[0] # for x in range(1,length-1): # # if x < length - 2: # # if l[x] == l[x+1]: # # l.remove(l[x]) # # return l # currentItem = l[x] # if firstItem == currentItem: # l.remove(currentItem) # else: # firstItem = currentItem # return l # print(deleteDuplicatedElement(['d','d','1','2','1','4'])) # def deleteDuplicatedElement(l): # l.sort() # length = len(l) # lastItem = l[length-1] # for x in range(length-2,-1,-1): # currentItem = l[x] # if lastItem == currentItem: # l.remove(currentItem) # else: # lastItem = currentItem # return l # print(deleteDuplicatedElement(['python','r','r','g','g','g','t','y','g','n'])) # 方法二:設(shè)一臨時列表保存結(jié)果,從頭遍歷原列表,如臨時列表中沒有當前元素則追加: #方法2,直接調(diào)用append方法原處修改列表,邏輯清晰,效率次之 # def deleteDuplicatedElement(l): # ll = [] # for x in l: # if x in ll: # continue # else: # ll.append(x) # return ll # print(deleteDuplicatedElement(['python','r','r','g','g','g','t','y','g','n'])) # 方法三:利用Python中集合元素唯一性特點,將列表轉(zhuǎn)換為集合,然后轉(zhuǎn)換為列表輸出即可 #方法3,極度簡潔,使用python原生方法效率最高,但列表原有順序被打亂 # def deleteDuplicatedElement(l): # return sorted(list(set(l)),key=l.index) # print(deleteDuplicatedElement(['python','r','r','g','g','g','t','y','g','n']))
以上這篇Python 列表去重去除空字符的例子就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯(lián)系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
