Python リストリストの重複排除
一.{}.fromkeys(list).keys()
list2 = {}.fromkeys(list1).keys()
二.set
list2 = list ( set(list1))
三.itertools.grouby
ids = [1,4,3,3,4,2,3,4,5,6,1]
ids.sort()
it = itertools.groupby(ids)
for k, g in it:
print k
4、愚かなメソッド
ids = [1,2,3,3,4,2,3,4 , 5,6,1]
news_ids = []
for id in ids:
if id not in news_ids:
news_ids.append(id)
print news_ids
これら 4 つは独自の特性を持っています。重複排除後、要素の並べ替えが変更されました。最初の方法は 2 番目の方法よりも高速であると言われています
5. インデックスの並べ替えにより、要素の順序が維持されます
#結果は [1, 4, 3] になります。 、2、5、6] [1、2、3、4、5、6] はしないでください
ids = [1,4,3,3,4,2,3,4,5,6,1]
news_ids = list(set(ids))
news_ids.sort(key=ids.index)
print news_ids #[1, 4, 3, 2, 5, 6]
6: 削減
ids = [ 1,4,3,3,4,2,3,4,5,6,1]
func = lambda x,y:x if y in x else x + [y]
printreduce( func, [ [], ] + ids)#[1, 4, 3, 2, 5, 6]