1. 程式人生 > >Python 列表去重去除空字元

Python 列表去重去除空字元

# 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',' ']
# 第一種方法會導致最後一個' '沒有被移除掉['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)


# 第三種方法:遍歷空格的個數,然後逐個刪除
# 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)






# 去除列表中的重複元素


# 方法一:  對列表進行怕羞,從頭到尾進行比較,遇到重複的元素就刪除,否則指標向右移動一位
#方法1,邏輯複雜,臨時變數儲存值消耗記憶體,返回結果破壞了原列表順序,效率最差
# 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']))




# 方法二:設一臨時列表儲存結果,從頭遍歷原列表,如臨時列表中沒有當前元素則追加:
#方法2,直接呼叫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中集合元素唯一性特點,將列表轉換為集合,然後轉換為列表輸出即可
#方法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 列表去除空字元

# 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) # py

Python 列表

import random def func1(one_list): ''' 使用集合,個人最常用 ''' return list(set(one_list))

python 列表(陣列)的幾種方法

一、方法1  程式碼如下 複製程式碼 ids = [1,2,3,3,4,2,3,4,5,6,1] news_ids = [] for id in ids:     if id not in news_ids:         n

python 列表保持順序】python 列表後保持原來的順序

# encoding: utf-8 # 定義列表去重返回有序的函式 def set_distinct_sort(list1): """ :param list1: 列表 :re

python 列表的幾種方法

1 a = [1,1,1,2,3,3,4,5,6,6,6] a1 = [] for i in a: if i not a1: a1.append(i) else: continue 2 a = [1,1,1,1,2,3,4,4,4,5] a

python 列表的3方法

方法1# coding=utf-8#定義一個字典,將列表重複的字數作為value值,將列表的元素作為鍵值,存入字典中#打印出字典#將字典的鍵值轉化成列表2,即完成了列表去重list1=[1,1,2,2,3,3,3,4,4,4,4,5,5,5,5,6,6,6,11,12,12]

Python列表的幾種方法

工作中,面試中經常會碰到列表去重的問題,有必要總結下:方法一: 使用內建set方法來去重>>> lst1 = [2, 1, 3, 4, 1] >>> lst2 = l

python 列表(不可變型別和可變型別)

不可變型別 利用set特性去重 ids = [1, 3, 8, 3, 8, 1, 9, 9, 9, 1] ids = list(set(ids)) 新建一個list,迴圈遍歷 i

Python練習題4(列表):[5,3,4,'ok',4,3,'abc',8,52,'ok']去除列表中重複內容 方法一:使用set 方法二:不使用set,自己寫方法

方法一:利用集合去重 1 list1 = [5,3,4,'ok',4,3,'abc',8,52,'ok'] 2 list1=list(set(list1)) 3 print(list1) 方法二:此方法略微冗餘,先判斷元素是否重複,再將重複元素提取並儲存到新列表中,再for 新建的列表元素,刪除

python之使用set對列表,並保持列表原來順序

原來 div 無重復 列表 mys ddr body afa key #原始方法,但是會打亂順序 mylist = [1,2,2,2,2,3,3,3,4,4,4,4]myset = set(mylist) #myset是另外一個列表,裏面的內容是mylist裏面的無重復 項

python中字串和列表,保持原來順序不變

使用的是python的集合set() 下面是兩個簡單的例子: >>> l=[9,0,1,2,3,3,4,5,6,45,67,77,6,45,8] >>> ll=lis

Python列表方法

如題:python中列表去重,使用三種基礎方法。 使用集合 集合中的元素是唯一的,所以利用集合進行去重 list1 = [2, 3, 56, 5, 5, 3 ] def func1(list1): ''''' 使用集合 ''' re

Python巢狀列表

raw_list = [ [ 'CS_SUPP_INFO', 'A', '1'], [ 'CS_SUPP_INFO', '1', 'A'], [ 'CS_SUPP_INFO', '1', 'A'], [ 'CS_SUPP_INFO', 'A', '1'], [ 'CS_SUPP_INFO', 'A', '2'

Python嵌套列表

enume 集合 emp list info 嵌套 子列 rate raw raw_list = [ [ 'CS_SUPP_INFO', 'A', '1'], [ 'CS_SUPP_INFO', '1&

Python元組、列表、集合及列表操作

1.元組、列表、集合元組(tuple)小括號、可以有相同元素、不可改只能讀列表(list)中括號、可以有相同元素、可以進行增刪改查集合(set)大括號、不存放相同元素2.列表去重操作對列表進行去重操作1:程式碼#coding = utf-8 a = [11,22,33,11,

移除陣列中的重複元素-列表Python

給定一個升序排列的陣列,去掉重複的數,並輸出新的陣列的長度。 例如:陣列 A={1,1,2},你的程式應該輸出 2 即新陣列的長度,新陣列為 {1,2}。 要求:不能新開陣列分配額外的空間,即常數空間限制。 輸入格式 輸入一個整數 n(1≤n≤1000)。 接下來一

列表的幾種方法

元素 not 切片 end 刪除 append class OS ear #方法一:(遍歷去重) >>>list1 = [1,2,3,4,5,5,4,3,2,1,0] >>>temp = list1[:]  #切片拷貝 >>&

python實現排序

數字 排序 實驗 計算 要求 整數 用戶輸入 raw_input randint 功能要求:     明明想在學校中請一些同學一起做一項問卷調查,為了實驗的客觀性    他先用計算機生成了N個1~1000之間的隨機整數(N<=1000),N是用戶輸入的,對於    其

如何對列表

用集合的天然去重 list1=[11,22,33,44,33,22] list2=list(set(list1)) print(list2) #[33, 11, 44, 22] 用字典的key a=[12,3,3,3,44,44,22] d={} b=d.fromkeys(a)

java8實現列表,java8的stream 和lambda的使用例項

不管我們做安卓開發還是javaweb開發,有時候我們會對列表進行去重操作,所謂的列表資料重複,通常體現在列表集合資料中的id屬性相同。當然我們通過普通的方式也可以達到去重的效果。但是藉助java8新特性可以很方便的實現列表去重,下面就寫個小demo簡單的演示一下。