導航:首頁 > 編程語言 > python如何刪除list中的重復元素

python如何刪除list中的重復元素

發布時間:2023-01-15 23:42:38

1. python 去除列表中重復的元素

這個有幾種方法來完成,但是對於不可哈希的數據來說,BIF set() 是無效的,會報錯,下面介紹幾種方法

對於以上4種方法,各有利弊,一般來說是方法2最快,方法1和方法3比較類似,但是方法3可以保持列表中的排序和之前的一樣,但是開頭也說了,這樣無法對不可哈希的對象進行去重復,比如列表中的元素還是列表,這種情況下就只能用方法4了,但是方法4的缺點就是比較的慢。

2. python如何刪除list里重復的元素

一共使用四種方法來去除列表中的重復元素,下面是具體實現:

def f1(seq):

# not order preserving

set = {}

map(set.__setitem__, seq, [])

return set.keys()

def f2(seq):

# order preserving

checked = []

for e in seq:

if e not in checked:

checked.append(e)

return checked

def f3(seq):

# Not order preserving

keys = {}

for e in seq:

keys[e] = 1

return keys.keys()

def f4(seq):

# order preserving

noDupes = []

[noDupes.append(i) for i in seq if not noDupes.count(i)]

return noDupes

def f5(seq, idfun=None):

# order preserving

if idfun is None:

def idfun(x): return x

seen = {}

result = []

for item in seq:

marker = idfun(item)

# in old Python versions:

# if seen.has_key(marker)

# but in new ones:

if marker in seen: continue

seen[marker] = 1

result.append(item)

return result

def f6(seq):

# Not order preserving

set = Set(seq)

return list(set)

3. python如何實現刪除某list中所有重復出現的元素

1. 使用內置函數set
lists = [1,1,2,3,4,6,6,2,2,9]
lists = list(set(lists))
先將列表轉換為集合,因為集合是不重復的,故直接刪除重復元素,而且輸出結果為排序後的

4. python如何有多個重復元素刪除其中一個

如果你知道他的索引(index)
假設他的索引存在變數a中
列表名為list
list.pop(a)
當然,也可以用remove函數
但是,局限於只能刪第一個
比如:
a=[0,1,1,1,2,3,3]
a.remove(1)
print(a)
結果為:
[0, 1, 1, 2, 3, 3]

5. python如何刪除list里重復的元素

這個可簡單可復雜。

簡單的:利用集合

a=list(set(a))#這樣就可以了,是不是很簡單

復雜的:

就是先對列表排序,然後比較相鄰元素是否相同,相同的則刪除後面的。大體演算法思路,代碼自己寫吧

當然還有其他的演算法...

-----------------------------------------------------------------------------------

額, 不好意思,看錯了

defQ(a):
aa=[]
foriina:
ifa.count(i)==1:
aa.append(i)
returnaa

這個就可以了,利用 list.count(obj) 計算obj在list中出現的次數進行判斷

6. python刪除列表中的重復值

答: 主要總結了以下三種方法進行列表中的重復值刪除。具體代碼如圖所示。

其中最簡單的就是方法一和方法三了,因為他們只需要進行相關函數的調用。

  1. 在方法一中,藉助集合set中元素不能重復的特性,先將list轉為set,然後再將set轉回list,即可除重復元素;
  2. 在方法三中,藉助 Numpy中的 Unique()方法也可將重復的元素去除,同時注意其元素返回類型為ndarray,因此也需要將其轉為list。

同學們如果對方法二感興趣的話,也可以進行動手復現,它相比於方法一和三會更難一點,但是更有利於鍛煉代碼思維。

7. 如何刪除Python列表中所有的同一元素

你可以直接把列表的類型轉為集合類型,因為集合類型是不會重復的

8. python刪除list重復元素

在Python中主要有5種方式 。
1、使用set函數
set是定義集合的,無序,非重復
numList = [1,1,2,3,4,5,4]
print(list(set(numList)))
#[1, 2, 3, 4, 5]
2、先把list重新排序,然後從list的最後開始掃描
a = [1, 2, 4, 2, 4, 5,]
a.sort()
last = a[-1]
for i in range(len(a) - 2, -1, -1):
if last == a[i]:
del a[i]
else:
last = a[i]
print(a) #[1, 2, 4, 5]
3、使用字典函數
a=[1,2,4,2,4,]
b={}
b=b.fromkeys(a)
c=list(b.keys())
print(c) #[1, 2, 4]
4、append方式
def delList(L):
L1 = []
for i in L:
if i not in L1:
L1.append(i)
return L1
print(delList([1, 2, 2, 3, 3, 4, 5])) #[1, 2, 3, 4, 5]
5、count + remove方式
def delList(L):
for i in L:
if L.count(i) != 1:
for x in range((L.count(i) - 1)):
L.remove(i)
return L
print(delList([1, 2, 2, 3, 3, 4]))#[1, 2, 3, 4]

9. Python基礎(3) - 去掉列表或元組中的重復元素

字典也是大括弧{},但是跟集合還是有區別。

1.集合沒有重復的元素,列表可以有重復元素
集合會自動將重復的字元給刪掉,而列表會原樣輸出顯示

2.集合中的元素與順序無關,而列表中的元素與順序有關

1.集合{}沒有重復的元素
2.集合{}中的元素跟順序無關
3.將列表[],元組() 轉換成集合後,重復的元素會自從刪掉,然後將集合轉成列表[] 元組()

加油-2020-0220

10. python中如何刪除列表中重復的元素

舉個例子,比如有這樣一個列表l,可表示為[1,2,2,5,3,6],它可以通過下面的操作達到去重的目的:l=list(set(l)),在python shell中代碼執行如下圖所示:

python列表去重操作代碼運行結果

閱讀全文

與python如何刪除list中的重復元素相關的資料

熱點內容
蘋果如何創建伺服器錯誤 瀏覽:494
軟考初級程序員大題分值 瀏覽:473
js壓縮視頻文件 瀏覽:578
linux如何通過命令創建文件 瀏覽:989
應用加密app還能訪問應用嘛 瀏覽:432
安卓怎麼用支付寶交違章罰款 瀏覽:665
php面向對象的程序設計 瀏覽:504
數據挖掘演算法書籍推薦 瀏覽:894
投訴聯通用什麼app 瀏覽:150
web伺服器變更ip地址 瀏覽:954
java正則表達式驗證郵箱 瀏覽:360
成熟商務男裝下載什麼軟體app 瀏覽:609
加密2h代表長度是多少厘米 瀏覽:23
拍賣程序員 瀏覽:101
電腦的圖片放在哪個文件夾 瀏覽:275
unsignedintjava 瀏覽:217
編譯器下載地址 瀏覽:43
什麼是面對對象編程 瀏覽:708
b站伺服器什麼時候恢復 瀏覽:721
6p相當於安卓機什麼水準 瀏覽:499