python中列表去重

2021-08-22 00:16:33 字數 1055 閱讀 6696

li = [2,5,4,7,2,1,3,2,6,7]

print('方法一列表追加'.center(40,'*'))

list1 =

for i in li:

if i not in list1:

print(list1)

print('推導式實現'.center(40,'*'))

list2 =

print(list2)

print('方法二利用字典鍵唯一'.center(40,'*'))

dict1 = {}

print(list(dict1.fromkeys(li).keys()))

print('方法三利用集合去重,這樣會改變列表順序,但是可以避免'.center(40,'*'))

result = list(set(li))

result.sort(key=li.index)#補救措施

print(result)

print('方法四itertools.groupby()只能對緊挨著的重複的元素去重!先排好序再用此方法才有意義')

import itertools

ids = [1,4,3,3,3,4,2,3,4,5,6,6,1]

ids.sort()

it = itertools.groupby(ids)

for k, g in it:

print(k,end=',')

print('方法五 reduce())

from functools import reduce

func = lambda x,y:x if y in x else x+[y]

li5 = reduce(func,[,]+li)

print(li5)

print('方法六 不變順序')

li.reverse()

for l in li:

if li.count(l) > 1:

li.pop(li.index(l))

li.reverse()

print(li)

python中列表去重

列表去重 定義乙個函式 def remove element m list 將列表 10,1,2,20,10,3,2,1,15,20,44,56,3,2,1 去除重複元素 def remove element m list 定義乙個空列表 new list 迴圈判斷某個元素是不是在新的列表中,如果在...

python 多表去重 Python列表去重

無聊統計了下列表去重到底有多少種方法。1.集合 list set alist 如果要保持順序 import random if name main a random.randint 0,10 for i in xrange 10 b list set a b.sort key a.index 2.字...

Python列表去重

標題有語病,其實是這樣的 假設有兩個列表 l1 1,2,3,4 l2 1,2,5,6 然後去掉l1中包含的l2的元素 直接這樣當然是不行的 def removeexists l1,l2 for e1 in l1 if e1 in l2 l1.remove e1 不管什麼語言都不能這麼幹,但是又有一點...