Python 列表去重去除空字符的例子
更新時(shí)間:2019年07月20日 15:06:12 作者:Fortune_yang
今天小編就為大家分享一篇Python 列表去重去除空字符的例子,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
如下所示:
# 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',' '] # 第一種方法會(huì)導(dǎo)致最后一個(gè)' '沒有被移除掉['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) # 第三種方法:遍歷空格的個(gè)數(shù),然后逐個(gè)刪除 # for x in range(list1.count(' ')): # list1.remove(' ') # print(list1) # 第四種方法:用了while和for一樣 # while ' ' in list1: # list1.remove(' ') # print(list1)
# 去除字符串中間的空格
# 第一種方法:使用replace,但是這種方法很笨,如果字符串中間有一萬個(gè)空格怎么辦,也要全部打出來嗎 # 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ù)元素
# 方法一: 對(duì)列表進(jìn)行怕羞,從頭到尾進(jìn)行比較,遇到重復(fù)的元素就刪除,否則指針向右移動(dòng)一位 #方法1,邏輯復(fù)雜,臨時(shí)變量保存值消耗內(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è)一臨時(shí)列表保存結(jié)果,從頭遍歷原列表,如臨時(shí)列表中沒有當(dāng)前元素則追加: #方法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中集合元素唯一性特點(diǎn),將列表轉(zhuǎn)換為集合,然后轉(zhuǎn)換為列表輸出即可 #方法3,極度簡(jiǎn)潔,使用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 列表去重去除空字符的例子就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
python學(xué)習(xí)入門細(xì)節(jié)知識(shí)點(diǎn)
我們整理了關(guān)于python入門學(xué)習(xí)的一些細(xì)節(jié)知識(shí)點(diǎn),對(duì)于學(xué)習(xí)python的初學(xué)者很有用,一起學(xué)習(xí)下。2018-03-03Python數(shù)據(jù)分析之彩票的歷史數(shù)據(jù)
這篇文章主要介紹了Python數(shù)據(jù)分析之彩票的歷史數(shù)據(jù),文中有非常詳細(xì)的代碼示例,對(duì)正在學(xué)習(xí)python的小伙伴們有非常好的幫助,需要的朋友可以參考下2021-04-04Python中的map()函數(shù)和reduce()函數(shù)的用法
這篇文章主要介紹了Python中的map()函數(shù)和reduce()函數(shù)的用法,代碼基于Python2.x版本,需要的朋友可以參考下2015-04-04使用Python將PDF表格提取到文本,CSV和Excel文件中
本文將介紹如何使用簡(jiǎn)單的Python代碼從PDF文檔中提取表格數(shù)據(jù)并將其寫入文本、CSV和Excel文件,從而輕松實(shí)現(xiàn)PDF表格的自動(dòng)化提取,有需要的可以參考下2024-11-11python批量修改文件夾及其子文件夾下的文件內(nèi)容
這篇文章主要為大家詳細(xì)介紹了python批量修改文件夾及其子文件夾下的文件內(nèi)容,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-03-03Python使用random和tertools模塊解一些經(jīng)典概率問題
這篇文章主要介紹了Python使用random和tertools模塊解一些經(jīng)典概率問題,本文講解了使用random和tertools模塊解羊車門問題、撲克牌問題、生日悖論等經(jīng)典概率問題,需要的朋友可以參考下2015-01-01